SQL SERVER7使用手冊_第1頁
SQL SERVER7使用手冊_第2頁
SQL SERVER7使用手冊_第3頁
SQL SERVER7使用手冊_第4頁
SQL SERVER7使用手冊_第5頁
已閱讀5頁,還剩33頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、12.1 SQL Server簡介12.1.1 SQL Server 的發展的特點安裝的軟硬件需求的安裝環境介紹的工具介紹12.2 數據庫的創建、修改與刪除12.2.1 創建SQL Server數據庫12.2.2 修改數據庫12.2.3 刪除數據庫表的建立、主鍵的建立12.3.1 表的建立12.3.2 創建主鍵12.3.3 用SQL語句命令方式建表數據的增加、刪除、修改和查詢12.4.1 數據的增加12.4.2 數據的刪除12.4.3 數據的修改12.4.4 數據的查詢數據庫的備份和恢復12.5.1 數據庫的備份12.5.2 數據庫的恢復高級應用技術存儲過程觸發器連接SQL 數據庫的實例12.

2、7.1 創建數據源12.7.2 定義數據庫描述文件12.7.3 連接數據源第12 章在網絡環境下進行數據庫系統的開發和應用,需要選擇具體的DBMS。本章首先介紹當前流行的關系數據庫系統Microsoft SQL Server的基本知識,接著以為背景,介紹數據庫系統設計的方法和SQL Server的高級應用技術,最后介紹使用如何來連接SQL 數據庫。12.1 SQL Server簡介Microsoft SQL Server是高性能、客戶/服務器的RDBMS(關系型數據庫管理系統),能夠支持大吞吐量的事務處理,也能在Microsoft Windows 2000 Server網絡環境下管理數據的存取

3、以及開發決策支持應用程序。由于Micriosoft SQL Server是開放式的系統,其他系統(如基于UNIX系統)可以與它進行完好的交互操作。12.1.1 SQL Server 的發展SQL Server這個名字第一次出現是在1988年。微軟總裁和Sybase發起人兼總裁簽定商約;之后Microsoft又與Ashton-Tate達成協議,發布產品Ashton-Tate/Microsoft SQL Server。該系統只能在OS/2操作系統上運行。1989年版完成。之后,由于兩公司存在著較大分歧,于是Microsoft和Ashton-Tate終止了他們的共同市場和分銷協議。1990年夏天,版

4、完成。這是SQL Server第一次作為微軟的產品推向市場。1991年,微軟發布了版。1992年7月,微軟總裁比爾蓋茨在Microsoft SQL Server開發大會上,正式宣布了產品版。版是微軟與 Sybase共同開發的產物。1993年7月,微軟完成了 Windows NT 31。這之后,發布了 Microsoft SQL Server for Window NT的第一版。SQL Server for Window NT成為暢銷產品,是1993年最重要的產品之一。1994年4月12日,微軟和 Sybase宣布終止聯合開發。每個公司獨立開發各自的 SQL Server產品。當時Sybase的

5、產品是System 10。1995年 6月16日,微軟獨自開發的版正式發布了。不到 1年的時間,版得以發布,取得成功。1998年11月,微軟發布了 Microsoft SQL Server 70版。 12.1.2 SQL Server 7.0的特點 對操作系統的要求低SQL Server以前的版本必須要在Windows NT Server下運行,而除了繼續支持Windows NT Server外,還新增了桌面版(Desktop Edition),此版本可以安裝在Windows 95/98/2000專業版上 ,用來建立數據庫,這使得變得非常通用,可以在任何大小的計算機上運行,包括膝上機、臺式機和

6、高檔服務器。 管理自動化許多關鍵性的工作、數據庫調整和最佳化處理等都由系統自動完成,減少了人為手工調整。例如,系統會動態調整內存需求,自動縮減庫和增加數據庫所占文件的空間大小,自動更新統計數據等等。 新的Enterprise Manager它以MMC(Microsoft Management Console)為基礎加以設計,其界面和其他微軟服務器產品一致,看上去很像Windows的資源管理器。 簡化了數據庫與Windows文件系統之間的關系,具有更好的可伸縮性在中,數據庫駐留在操作系統文件上,而不再位于SQL Server的邏輯設備中,取消了以前必須先建立設備(Device),再在設備上建立數

7、據庫的觀念,現在僅使用CREATE DATABASE 語句即可創建數據庫及其所有文件,從而簡化了數據庫設計和管理的工作。允許數據庫自動擴展,不再需要管理員發出額外的ALTER語句命令。 提供數據庫挖掘功能在中加入的OLAP(On-Line Analytical Processing)服務,可以幫助公司建立決策分析的應用。12.1.3 安裝的軟硬件需求 軟件需求如果用戶要在 Window NT 40 Server 上安裝SQL Server 7.0,必須先安裝Windows NT 4.O Server Pack 4;如果用戶要在 Window NT 4.0 WorkStation/Server或

8、 Windows 95/98/2000專業版上安裝SQL Server 7.0,則必須安裝Internet Explornet Service PACK 1。 硬件需求CPU:Intel 32位,基于80x96的CPU(例如Pentium, Pentium Pro,或者是Pentium II,是Pentium III以上最好,主頻是133MHZ或更高,AMD的K5、K6和Athlon),或或、者是DECAlpha AXP CPU;內存: 至少需要32MB(建議64MB以上);硬盤大小: 最小安裝要求大約80MB,不包括管理工具或Books Online,典型安裝大約要求185M管理工具,但是不

9、包括Books Online,完全安裝需要210MB,包括管理工具和Books Online; 網絡需求作為一個客戶機/服務器系統,允許客戶機使用不同的網絡協議與服務器通信,也允許服務器使用不同的網絡協議與客戶機通信,可以選擇的網絡協議有:·命名管道·TCP/IP·多協議Net-Library·NWLink IPX/SPX·Appe Talk ADSP·Banyan VIVES 網絡協議的選擇影響著 SQL Server 70安全性的選擇,SQL Server 7.0支持兩種安全性類型,SQL Server驗證和 Windows NT

10、驗證。上面所有網絡協議都可以使用SQL Server 7.0安全性,而Windows NT安全性僅用于命名管道和多協議Net-Library。從性能上來講,命名管道是所有協議中最快的,使用多協議Net-Library相當于命名管道、TCP/IP、NWLink IPX/SPX三個協議的結合。30歲之前,別指望掙多少錢,做好職業生涯規劃是關鍵“30歲之前,別指望掙多少錢!”這是當我剛踏上營銷路上的時候,我的上司給我的忠告。有人說良言可以讓一個人受用一輩子,我不敢說這句話可以讓我受用一輩子,但起碼讓我至今受用。后來當我做到我上司同樣職位的時候,我也將這句話送給我所有的下屬。人在年輕的時候有時總是比較

11、高傲和浮躁,總是想一口吃個胖子或一步能登上天。而這句話雖然樸實,但我卻認為蘊含著深刻的職業定位道理。它告訴所有還沒有到30歲的營銷人(當然也針對其他行業的職業人員,在30歲之前,你的營銷職業該如何去定位;它也嚴厲的告誡所有涉業不深的營銷人,30歲之前,做好營銷生涯的職業定位和規劃比掙錢更重要;他也毫不客氣的反問那些輕狂浮躁的營銷人,30歲之前你又能掙多少錢?Install SQL Server 70 Components。要注意,在選擇 Install SQL Server 7我們可以算一筆賬,假設你從出生后上學沒有留過級或復讀并順利考上本科院校。畢業后順利找到理想的單位,你選擇的單位是除上海

12、、北京、深圳和廣州之外的中等城市的一家快速消費品民營企業。文中列舉的企業均為年銷售額過億的民營企業(選擇民營企業更具有代表性。從你出生起計算,第6年完成幼兒園教育,第12年完成小學教育,第15年完成初中教育,第18年完成高中教育,第22年完成本科教育。當你完成本科教育的時候,你離到歲只有8年。我們假設你一畢業就找到了合適的工作也沒有走彎路(但實際情況是一個剛畢業的大學生畢業后13年都處在一個擇業期。假設你8年的平均月薪是4000元,年你掙了38.4萬元。而這38.4萬元正好是一個營銷副總裁的年薪。因此,我們可以從經濟學的角度去分析這種機會風險。如果300系統文件存放在啟動盤的30歲之前,對于大

13、多數營銷人來說,沒有什么資本去要求獲得更高的薪水,一沒經驗,二即使是名校畢業,但文憑也不能給企業帶來直接的經濟效益。因此營銷人30歲之前更多的是向“前”看而不是向“錢”看,更多的是要“漁”而不是要“魚”。古語有云叫“欲速則不達。”老子說“合抱之木,生于毫末;九層之臺,起于累土;千里之行,始于足下。”荀子說:“不積小流,無以成江河;不積跬步,無以至千里。”這些道理告訴我們,職業發展也要遵循循序漸進的自然規律。30歲之前,對于一個營銷人而言,本人認為應該做到“六要”:要戒驕戒躁,要謙虛務實,要誠實肯干,要勤奮好學,要慎近思遠,要大智若愚。只有這樣你才能有一個好的心態,心態決定了你有一個好的定位,定

14、位決定了你有一個好的規劃,規劃決定了你有一個好的未來。口才難以遮擋長久的無才,外表掩蓋不了真實的內在,小聰明只能逞一時的得意,不義之財終究花的不光彩。營銷人只有腳踏實地的工作,具備真才實學才會有一個美好的將來。Books 作為一個營銷人如何進行30歲前的職業規劃。我認為營銷人要做好職業規劃必須要做好五件事。第一件事,職業規劃三要素分析。本人總結的職業規劃三要素為:愛好、性格和特長。第一,愛好。我認為愛好應該是放在一個營銷人職業生涯規劃考慮的首位。因為只有你喜歡營銷這個職業,你才可能去主動投入,而也只有你主動投入了你才可能有收獲,才可能會取得成就。如果你不喜歡營銷這個職業,所有的工作你都是在被動

15、的接受,手到了心卻沒到,沒用心自然不會獲得好的結果。所以,當你決定從事營銷行業時,你要問自己是否真的因為我喜歡這個行業,還是抱著試試看的態度或其他原因。第二,性格。古話說江山易改本性難移,一個人的性格是很難改變的,但也并不是不可改變。我認為愛好可以改變一個人的性格。通常性格被分為“外向、中性和內向”,作為營銷人你就要分析你的性格屬于哪一種?你的職業決定了你的大部分時間是在和人打交道,因此外向的性格當然較好。但也不代表內向的人就不能做營銷,對于一個性格內向)如不善于和陌生人打交道,不善言辭、不善溝通DevToolsLib 存放 OLE DB程序庫文件(第三,特長。特長是你現有專長和潛在專長的總稱

16、。特長也分為基礎特長和專業特長。基礎他長如溝通能力強,組織能力強等。專業特長如計算機熟練、擅長策劃等。在計劃經濟時代,由于職業人在企業一干就是一輩子,改變外部環境的空間很小,所以在那個時代在進行自我完善方面強調的是如何去彌補自己的不足。在市場經濟條件下,職業人的流動性增強,改變外部環境的空間加大,因此如何最大限度的發揮自己的優點成為自我完善的核心。世界上沒有完美的東西,自然也沒有十全十美的人,特長的發揮成為一個人取得成功的關鍵,因為有時候不足很難彌補,況且有彌補不足的時間還不如用這個時間去發揮自己的優勢。因此,特長分析很關鍵。DevToolsSamples 存放范例程序文件Ftdata 存放全

17、文索引目錄文件Html 存放 HTML文檔Install 存放有關安裝方面的信息文件Jobs 存放工作文件Log 存放日志文件Repldata 存放復制數據UpGrade 存放升級工具及 SQL Server 65升級到 70時產生的文件2. 自動創建的數據庫在安裝SQL Server 7.0時,安裝程序會自動創建4個系統數據庫(Master, Model, Msdb,Tempdb)和兩個范例數據庫(Northwind,Pubs),系統數據庫由系統自動維護。 Master數據庫其中記錄了所有 SQL server 7.0的系統信息、登錄賬號、系統配置設置、系統中所有數據庫及其系統信息以及存貯介

18、質信息等。Master數據庫的數據文件為Master.mdf,日志文件為Master.ldf。 Model數據庫此系統數據庫是SQL server 7.0為用戶創建數據庫提供的模板數據庫,每個新建的數據庫都是在一個Model數據庫的副本上擴展而生成的,所以對Model數據庫的修改一定要小心。Model數據庫的數據文件為Modelmdf,日志文件為Modelldf Msbd數據庫Msdb數據庫主要用于SQL Server 7.0存儲任務計劃信息、事件處理信息、備份恢復信息以及異常報告等。Msdb數據庫的數據文件為Msdbmdf,日志文件為MsdbLdf。 Tempdb數據庫Tempdb數據庫存放

19、所有臨時表和臨時的存儲程序,并且供 SQL Server 7.0存放目前使用中的表,它是一個全局的資源,臨時表和存儲程序可供所有用戶使用。每次 SQL Server 7.0啟動時它會自動重建并且重設為默認大小,使用中它會依需求自動增長。 Northwind數據庫Northwind是提供的范例數據庫,它包含一個稱為Northwind Traders公司的銷售數據庫。 Pubs數據庫。Pubs數據庫也是提供的范例數據庫,它包含一個書籍出版公司的數據庫范例。提供的服務 MS SQL Server:運行SQL Server的服務。它管理著存儲數據庫的所有文件,處理所有客戶應用傳送來的T-SQL命令,執

20、行其他服務器上的存儲過程,并支持從多個不同數據源獲取數據的分布式查詢。 SQL Server Agent:管理 SQL Server周期性行為的安排,并在發生錯誤時通知系統管理員。它包括作業(Jobs、警告(Alerts)和操作員(Operator)三部分。 Microsoft Server Service:一個全文本索引和搜索引擎。它可以在所選表列上創建有關詞匯的特殊索引,T-SQL語言可以利用這些索引來支持語言搜索和近似搜索。 MS DTC(Microsoft Distributed Transaction Coordinator):管理包含不同數據源的事務。它可以正確提交分布式事務,以確

21、保所有服務器上的修改都被保存或回退。其中,SQL Serve、SQL Server Agent和 MS DIC可作為Windows NT 服務來運行,Microsoft Server Service服務只能運行在 Window NT Server上。1Service Manager(服務管理器)SQL Server的Service Manager用來啟動、停止和暫停SQL Server過程。必須在進行任何數據庫操作前啟動SQL Server。Service Manager 可以從SQL Server的程序組中進行啟動。如圖所示。圖12.1 SQL Server的啟動圖12.2 SQL Serv

22、er Manager 對話框啟動后的 SQL Server Manager 對話框如圖 所示。對服務( MS SQL Server 、 SQL Server Agent 和 MSDTC ) 的選擇可用服務( Services )列表。雙擊紅、黃、綠交通燈,就可以達到啟動 Start/Continue )、停止 (Stop 和暫停 (Pause 的目的。 2Enterprise Manager(企業管理器)Enterprise Manager是用戶管理SQL Server 7.0的主要工具和圖形界面,用戶可以在這個全圖形界面的環境下建立數據庫、表、數據、視圖、存儲過程、規則、默認值和用戶自定義的

23、數據類型等功能。在Enterprise Manager中有兩組任務簿,如圖12.3所示。其中一組處于數據庫服務一級,用戶通過選擇數據庫服務器可以獲得一個可用的任務簿;它可以讓用戶很容易地訪問管理開發工具和向導。這些工具的內容處于數據庫服務器一級的詳細信息。在數據庫服務器一級的內容中還有另一個任務簿,它為用戶提供所選數據庫的詳細信息。任務簿上的標簽可供用戶選擇所要看的信息,諸如數據庫大小、備份細節、文件空間、日志空間以及表空間等。圖12.3 數據庫任務簿3Query Analyzer(查詢分析器)Query Analyzer提供的圖形界面可用來分析一個或多個查詢執行計劃,查看數據結果并且依查詢的

24、方式提出最佳化的索引建立方式,以便改進查詢效率。 例如,查詢pubs庫中表jobs的內容,步驟如下:在Windows開始菜單中執行“程序|Microsoft SQL Server 7.0| Query Analyzer”命令,進入Query Analyzer對話框,如圖12.4所示,在Query Analyzer窗口的數據庫復選框中選擇pubs庫;在命令窗口中輸入SQL語句:SELECT * FROM JOBS后,點擊Execute Query按鈕,查詢結果便顯示在輸出窗口中。4其他工具(1)Profile可以即時監督、捕捉、分析 SQL Server 7.0的活動,對查詢、存儲過程、鎖定、事

25、務和日志的變化進行監視,以及在另一個服務器上重現所捕獲的數據。如圖12.5所示。輸出窗口圖12.5 創建跟蹤的多選項卡對話框(2)Client Network Utility可以用來配置客戶端到服務器的連接。(3)Server Network Utility是 SQL server 70服務器端的網絡配置界面。(4)Import and Export Data提供了導入、導出以及在 SQL Serve 70和 OLE DB、 ODBC及文件間轉換數據的功能。(5)MSDTC Administrator Console提供分布式數據庫管理的相關設置功能。(6)Performance Monito

26、r可以讓用戶即時監視各種資源和事件發生的情況,以供調整數據庫系統的性能。(7)Microsoft Full-Text Search即全文檢索功能,可以讓用戶僅使用部分單字或字節就可以查詢數據庫中特定字段的數據。(8)Book Online提供了聯機文檔,包括有關操作維護的說明。(9)OLAP Services提供了在線分析處理功能(需要另外安裝 OLAP管理工具)。 (10)English Qury可以讓用戶利用英文句子向數據庫查詢數據地需要另外安裝)。12.2 數據庫的創建、修改和刪除12.2.1 創建SQL Server數據庫方法一、步驟如下: 在Windows開始菜單中執行“程序|Mic

27、rosoft SQL Server 7.0|Enterprise Manager”命令,進入Enterprise Manager界面。在Enterprise Manager中展開SQL Server Group,再展開Database項,右擊Database,在彈出的快捷菜單中選擇New Database 命令,如圖12.6所示。圖12.6 創建新的數據庫 此時,彈出“”Database Properties”對話框,在“General”選擇卡中,輸入數據庫的名稱 “PROJECT”,對所建的數據庫進行設置,如圖12.7所示。 如果想改變新的事務日志文件,單擊“Transaction Log”

28、選擇卡,如圖12.8所示。如果要改變在File name、Location、Initial size(MB和File group中提供的缺省值,單擊適當的小格子,并鍵入新值。 可以從上面所示的選項中選擇、指定數據庫文件的增長方式和速率。 同樣可以指定數據庫文件的大小限制限制。圖12.7 為數據庫命名圖12.8 “Transaction Log”選擇卡方法二、用向導“傻瓜”創建數據庫,步驟如下: 在Enterprise Manager中展開SQL Server Group,在菜單上選擇“Tools|Wizards”,如圖12.9所示。 單擊“Database”,再雙擊“Create Databa

29、se Wizard”,如圖12.10所示。 按照圖上的向導,一步步的選擇下去,即可創建數據庫。 方法三、利用SQL查詢分析器。在SQL查詢分析器命令窗口中輸入創建數據庫的SQL語句后,點擊“Execute Query”按鈕,就可以在輸出窗口中直接看到語句的執行結果,如下圖所示。在Enterprise Manager中,展開SQL Server Group, 再展開Database項,右擊PROJECT數據庫,在彈出的快捷菜單中選擇Properties命令,此時出現PROJECT Properties數據庫屬性對話框,在該對話框中可以查看數據庫的各項設置參數。在這個對話框的前兩個選項卡中,可對建

30、庫時所作的設置進行修改,在Options選項卡(如圖12.11所示)中還可對其他參數進行修改。在Enterprise Manager中,展開SQL Server Group, 再展開Database項,選擇要刪除的數據庫名,右擊鼠標選擇Delete命令,并在彈出的確認對話框中選擇“是”即可。12.3表的建立、主鍵的建立創建表的步驟如下: 在Enterprise Manager中展開Server Group,再展開Database項,選擇要建表的數據庫PROJECT,在Table上右擊鼠標,執行New Table命令,如圖12.12所示。 在彈出的選擇名稱對話框中輸入要創建的表的名稱J(工程項目

31、表),按回車鍵后進入設計表的字段的窗口界面,如圖12.13所示。在各列中填寫相應字段(按照第四章中4.2節的定義)的列名、數據類型和長度后,在工具條上按保存按鈕。圖12.13 新表結構在創建的表時可以創建該表的主鍵,方法如下: 如圖12.13所示,在新表中,對要建的主碼列,在其“Allow Null”( 允許空里面選擇非空;因為其默認值是允許為空值。設置主鍵后的界面。圖12.14 設置主鍵圖12.15 設置主鍵后的界面用類似的方法,按照第四章4.2節的定義創建供應商表S、零件表P并設置相應的主鍵。下面我們介紹另一種建表的方式。6.用SQL語句命令方式建表Query Analyzer是可以交互執

32、行SQL語句和腳本的圖形工具。進入Query Analyzer窗口,連接數據庫后(在數據庫復選框中選擇PROJECT),在Query Analyzer命令窗口中輸入創建供應關系表SPJ的SQL語句(如第四章例4.11的SQL語句)后,點擊“Execute Query”按鈕,就可以在輸出窗口中直接看到語句的執行結果,如圖12.16所示。輸出窗口數據的增加、修改、刪除和查詢在Enterprise Manager中,對表進行數據的增加、刪除、修改操作非常方便。12.4.1 數據的增加在Enterprise Manager中,展開SQL Server Group,再展開Database項,展開要增加數

33、據的表(如J所在的數據庫(如PROJECT,在選定的表上單擊右鍵,在彈出的快捷菜單中選擇“Open Table|Return all row”命令,然后出現數據輸入界面,在此界面上可以輸入相應的數據(如第四章例所定義的數據),如圖所示,點擊“Run”按鈕或關閉此窗口,數據都被自動保存。Run 用SQL語句增加數據的方法是:在圖所示界面中點擊“SQL Pane” 按鈕,出現圖所示界面,在此界面的窗口中輸入相應的SQL語句(如第四章例的SQL語句)后,點擊“Run”按鈕,出現圖所示界面。再次打開數據被插入數據的表,可以看到數據已被自動保存,如圖所示。進入Query Analyzer(單擊程序組中Q

34、uery Analyzer,也可在Enterprise Manager窗口的Tools菜單中選擇Query Analyzer)窗口,連接數據庫后,(在數據庫復選框中選擇PROJECT),在Query Analyzer命令窗口中輸入SQL語句,(第四章例的SQL語句)后,再執行該語句,也可實現數據的增加。輸入SQL語句窗口圖12.19 執行SQL語句增加數據圖12.20 SQL語句增加數據后12.4.2 數據的修改在Enterprise Manager中修改數據,如同增加數據一樣進入數據輸入界面,在此界面中對數據進行修改后,點擊“Run”按鈕或關閉此窗口,數據都被自動保存。也可點擊“SQL Pa

35、ne” 按鈕,輸入相應的修改數據的SQL語句后,點擊“Run”按鈕,修改后的數據被自動保存。也可進入Query Analyzer,啟動SQL語句的輸入環境,在Query Analyzer命令窗口中輸入SQL的修改語句,再執行該語句,也可實現數據的修改。12.4.3 數據的刪除用上面同樣的方法,打開要刪除數據的表后,點擊“SQL Pane” 按鈕,輸入相應的刪除數據的SQL語句后,點擊“Run”按鈕,刪除數據的表被自動保存。 同樣進入Query Analyzer,啟動SQL語句的輸入環境,在Query Analyzer命令窗口中輸入SQL的刪除語句,再執行該語句,也可實現對數據的刪除。12.4.

36、4 數據的查詢進入Query Analyzer窗口,連接數據庫后(在數據庫復選框中選擇PROJECT),在Query Analyzer命令窗口中輸入SQL語句,(如第四章例4.11的SQL語句)后,點擊“Execute Query”按鈕,就可以在輸出窗口中直接看到語句的執行結果,如圖12.21所示。輸出窗口12.5 數據庫的備份和恢復12.5.1 數據庫的備份 在Enterprise Manager中,展開SQL Server Group,再展開Management項,選定Backup項,右鍵單擊Backup項,在彈出的菜單中選擇New Backup Device, 出現如圖12.22所示的對

37、話框。圖12.22 New Device 對話框 在Name輸入框中輸入備份設備名稱,在File name輸入框中指定設備的文件名稱,如圖12.22所示。單擊“確定”后,就創建了一個新的備份設備,這時就能在Enterprise Manager的Backup窗口中看到新創建的備份設備PROJECT,選中PROJECT單擊右鍵,如圖12.23所示。圖12.23 Backup a Database 選擇框 在Backup窗口中用右擊新創建的備份設備,在彈出菜單中選擇Backup a Database.命令,如圖12.23所示。 在彈出的快捷菜單,選擇Backup a Database就出現如圖12.

38、24所示的對話框,在Database選擇框中選擇需要備份的數據庫,在Name和Description中分別輸入該設備備份的名稱和簡單描述。然后可以在Destination中選擇備份的設備。單擊Add按鈕,彈出一個選擇備份目標對話框,在Backup device中選擇作為備份目標的設備,單擊OK后,返回前一個對話框,這時在Destination選擇區域的框中就有了剛才選擇的設備。如果選擇不正確,還可以通過Remove按鈕刪除選擇的備份設備。此外,對本對話框的Schedule參數進行設定,可以選擇周期性地或者以后某個時刻進行備份,設定好各個選項后,單擊“確定”就可以進行備份了,如圖12.25所示。

39、圖12.25 Backup Program 提示框 在Enterprise Manager中,展開SQL Server Group,再展開Database項,在Database項上單擊右鍵,在彈出的菜單中選擇“All Task|Restore Database”命令,彈出一個“Restore Database”對話框.在“Restore as Database”,輸入框中輸入需要恢復的數據庫的名稱,然后在“Restore”選項中選擇“From device”,再單擊“Add”按鈕,在彈出的選擇恢復目標對話框中,在“Backup device”欄里選擇備份設備,單擊“OK” 返回選擇恢復設備對話

40、框,再次單擊“OK”按鈕返回恢復數據庫對話框,如圖12.26所示。 選擇Option選擇卡,點擊Force restore over existing database復選框,如圖12.27所示。單擊確定按鈕,即可進行數據庫的恢復。如圖12.28所示。圖12.26 Restore Database General選擇卡對話框圖12.27 Restore Program Options 選擇卡對話框圖12.28 Restore Program 提示框存儲過程是存儲在服務器上的預先編譯好的SQL語句 ,可以在服務器上的SQL Server環境下運行,深入到客戶/服務器模型的核心能充分體現其優點。由

41、于 SQL Server管理系統中的數據庫,因此最好在用戶系統上運行存儲過程來處理數據。存儲過程可以返回值、修改值,將系統欲請求的信息與用戶提供的值進行比較。在SQL Server硬件配置下,存儲過程可以快速運行。它能識別數據庫,而且可以利用 SQL Server優化器在運行時獲得最佳性能。用戶可向存儲過程傳遞值,存儲過程也可返回內部表中的值,這些值在存儲過程運行期間進行計算。廣義上講,使用存儲過程有如下好處:(1)性能因為存儲過程是在服務器上運行的,服務器通常是一種功能更強的機器,它的執行時間要比在工作站中的執行時間短。另外,由于數據庫信息己經物理地在同一系統中準備好,因此就不必等待記錄通過

42、網絡傳遞進行處理。存儲過程具有對數據庫立即的、準備好的訪問,這使得信息處理極為迅速。(2)客戶服務器開發益處將客戶端和服務器端的開發任務分離,可減少完成項目需要的時間。用戶可獨立開發服務器端組件而不涉及客戶端,但可在客戶方應用程序間重復使用服務器端組件。(3)安全性如同視圖,可使用存儲過程作為一種工具來加強安全性。可以創建存儲過程來完成所有增加、刪除和列表操作,并可通過編程方式控制上述操作中對信息的訪問。(4)面向數據規則的服務器端措施這是使用智能數據庫引擎的最重要原因之一,存儲過程可利用規則和其他邏輯控制輸入系統的信息。在創建用戶系統時要切記客戶用民務器模型。記住,數據管理工作由服務器負責,

43、因為報表和查詢所需的數據表述和顯示的操作在理想模型中應駐留在客戶方。當創建系統時,注意上述各項可移到模型的不同終端,從而優化用戶處理應用程序的過程。雖然SQL Server被定義為非過程化語言,但SQL Server允許使用流程控制關鍵字。用戶可以使用流程控制關鍵字創建一個過程,以便保存供后續執行。用戶可使用這些存儲過程對SQL Server數據庫和其表進行數據處理,而不必使用傳統的編程語言,如 C或者 Visual Basic編寫程序。存儲過程比動態 SQL Statement具有下述優勢:存儲過程在第一次運行時被編譯,并被存儲在當前數據庫的系統表中。當存儲過程被編譯時,它們被優化以選擇訪問

44、表信息的最佳路徑,這一優化要考慮到表中數據的實際形式、索引是否可用或表負載等一些因素。這些編譯后的存儲過程可大大加強系統的性能。另一個有利條件是可在本地或遠程 SQL Server上執行存儲過程,這樣就可以在其他計算機上運行進程,處理跨越服務器的信息,而不僅僅是本地數據庫的信息。用其他程序設計語言編寫的應用程序也可執行存儲過程,提供了一個客戶端軟件和 SQL Server之間的優化的解決方案。2.如何建立存儲過程用戶可以使用 CREATE PROCEDURE語句創建一個存儲過程。在默認的情況下,執行所創建的存儲過程的許可權歸數據庫的擁有者。數據庫的擁有者可以改變賦給其他用戶運行存儲過程的許可。

45、定義新的存儲過程的完整語法如下:CREATE PROCEDURE procedure_name:numberparameter data_typeVARYING=defaultOUTPUT,n WITHRECOMPILEENCRYPTIONRECOMPILE, ENCRYPTIONFOR REPLICATIONASSql_statement ,n上述語句中的procedure_name(存儲過程名和Sql_statement(包含在存儲過程中的任何合法的SQL語句兩個參數必須傳遞給CREATE PROCEDURE語句。可選項parameter data_type表示存儲過程中定義的局部變量pa

46、rameter,類型為 data_type ,關鍵字OUTPUT表示允許用戶將數據直接返回到在其他處理過程中要用到的變量中。返回值是當存儲過程執行完成時參數的當前值。為了保存這個返回,在調用該過程時SQL調用腳本必須使用OUTPUT關鍵字。WITHRECOMPILEENCRYPTIONRECOMPILE, ENCRYPTIONFOR REPLICATION允許用戶選擇任何存儲過程和執行過程。用SQL Enterprise Manager來創建存儲過程在Windows開始菜單中執行“程序|Microsoft SQL Server 7.0| Enterprise Manager”命令,進入Ente

47、rprise Manager界面。在Enterprise Manager中展開SQL Server Group,再展開Database項,選擇要創建存儲過程的數據庫(如PROJECT),在選中的數據庫名上單擊右鍵,在彈出的菜單中選擇New Storde Procedure命令,如圖12.29 所示,彈出一個“New Storde Procedure”窗口,如圖12.30 所示,在該窗口中輸入存儲過程。圖12.29 選擇“New Storde Procedure” 創建存儲過程圖12.30 “New Storde Procedure” 窗口3創建并調用一個帶參數的存儲過程舉例創建一個名為get_

48、spj_name的存儲過程,如圖12.31所示。該存儲過程根據提供的參數:供應商號、零件號和工程號返回相應的供應商名稱、零件名稱和工程名稱。創建get_spj_name存儲過程的語句如下:CREATE PROCEDURE get_spj_namesno char(4, pno char(4, jno char(4, sname char(20 OUTPUT,pname char(20 OUTPUT,jname char(20 OUTPUT ASSELECT jname=JNAME,pname=PNAME,sname=SNAMEFROM J,S,P,SPJAND SPJ.JNO=jnoAND S

49、PJ.PNO=pnoAND SPJ.SNO=sno圖12.31 get_spj_name窗口調用一個帶參數的存儲過程,如圖12.32所示。創建get_spj_name存儲過程后,用戶可以通過使用SQL Server Query Analyzer工具調用該存儲過程來調試其正確性,代碼如下:DECLARE jname char(20,pname char(20,sname char(20EXEC get_spj_name 'S3','P3','J5',sname OUTPUT,pname OUTPUT,jname OUTPUT;select jnam

50、e=jname,pname=pname,sname=sname圖12 .32 調用存儲過程(get_spj_named 的代碼和運行結果觸發器觸發器是SQL Server提供給程序員和數據庫分析員確保數據完整性的一種方法。這些方法對于那些經常被大量的不同應用程序訪問的數據庫相當有用,因為它們使數據庫增強了應用規則,而應用規則是依賴于應用軟件的。1 SOL Server觸發器的概念SQL Server有效地管理信息的能力來源于它在系統中控制數據的能力。存儲過程的建立,使用戶能夠在服務器上執行邏輯,通過規則和默認值去幫助數據庫更進一步地管理信息。SQL Server在信息被寫入數據庫之前確認規則和

51、默認值。這對于信息是一種“預過濾器”,并且能基于數據項控制數據庫活動的作用阻止數據項的活動。觸發器是在數據更新后執行的“后置過濾器”,并且 SOL Server已經確認了這些規則、默認值等。觸發器是 SQL Server執行的特殊類型的存儲過程,它發生在對于一個給定表的插入、修改或刪除操作執行后。由于觸發器是在操作有效執行后才被運行,在修改中它們代表“最后動作”。假如觸發器導致的一個請求失敗的話,SQL Server將拒絕信息更新,并且對那些傾向于事務處理的應用程序返回一個錯誤消息。觸發器最普遍的應用是實施數據庫中的商務規則,當然在維持引用完整性方面,外鍵要比觸發器更快,但觸發器能夠維持那些外

52、鍵所不能處理的復雜關系。觸發器不會明顯影響服務器的性能。它們經常被用于增強那些在其他的表和行上進行很多級聯操作的應用程序的功能。2創建觸發器創建觸發器的用戶必須是該數據庫的擁有者,當添加一個觸發器到列、行或表的時候,就會改變怎樣使表能夠被訪問,怎樣使其他對象能夠與之關聯等。因此,實際上正在改變數據庫的模式。當然這種類型的操作為數據庫擁有者所保留,以便防止有人無意中修改了系統的布局格式。創建觸發器相當于說明一個存儲過程,并且它有相似的語法。 創建觸發器的語法:CREATE TRIGGER trigger_nameON tableWITH ENCRYPTIONFOR DELETE,INSERT,U

53、PDATEWITH APPENDNOT FOR REPLICATIONASSql_statement nFOR INSERT,UPDATEWITH APPENDNOT FOR REPLICATIONAS IF UPDATE(columnANDORUPDATE(columnnIF (COLUMNS_UPDATED()bitwise_operator)updated_bitmaskcomparison_operatorcolumn_bitmasknsql_statementn上述語句中的trigger_name為所定義的觸發器名稱;關鍵字INSERT,UPDATE ,DELETE 定義了觸發器的作

54、用域,后者決定了啟動觸發器的操作; Sql_statement為包含在觸發器中的任何合法的SQL語句。用SQL Enterprise Manager來創建觸發器在Windows開始菜單中執行“程序|Microsoft SQL Server 7.0|Enterprise Manager”命令,進入Enterprise Manager界面。在Enterprise Manager中展開SQL Server Group,再展開Database項,選擇要創建觸發器的數據庫(如PROJECT),再選中要創建觸發器的表(如J),按右鍵,在彈出的菜單上選擇All Tasks命令,再選Manage Trigge

55、rs命令,如圖12.33 所示,彈出一個“Trigger properties”窗口,如圖12.34 所示,在該窗口中輸入觸發器代碼。3Inserted和deleted 表當觸發器被執行時,SQL Server創建一個或兩個臨時表(Inserted或者deleted 表)。當一個記錄插入到表中時,相應的插入觸發器創建一個inserted表,該表鏡像該觸發器相連接的表的列結構。例如,當用戶在J表中插入一行時,J表的觸發器使用J表的列結構創建inserted表。對于插入到J表的每一行,相應地在inserted表中也包括該行。deleted表也鏡象觸發器相連接的表的列結構。當執行一條DELETE語句

56、時從表中刪除的每一行都包含在刪除觸發器內的deleted表中。圖12.33 選擇Manage Triggers圖12.34 Triggers Properties 窗口被UPDATE語句觸發的觸發器創建兩個表inserted和deleted表,這兩個表和它們相連接的表有相同的列結構。deleted 和inserted表分別包含相連接表中數據的“前后”快照。例如,假設用戶執行下面的語句:UPDATE J SET JNO=J10 WHERE JNO=S8當該語句被執行時,J表中的更新觸發器被觸發。在觸發器的inserted和deleted表中,該語句所改變的每一數據行都在這兩個表中包含一行。del

57、eted表中行的數據值是執行UPDATE語句之前的J表中行的數據值;inserted表中則是執行UPDATE語句后的J表中行的數據值。4Update(函數觸發器降低了SQL Server事務的性能并且在事務執行時保持鎖處于打開狀態。如果用戶的觸發器邏輯只有當某些特定列改變時才需要運行,用戶就應該檢測這種情況的出現。update()函數可以幫助用戶進行檢測。Update()函數只在插入和更新觸發器中可用,它確定用戶傳遞給它的列是否已經被引起觸發器激活的insert或update語句所作用。例如在表J上定義更新觸發器,使其阻止JNO列被執行,觸發器定義如下:CREATE TRIGGER TRJ_Upd ON JFOR UPDATEASIF update(JNO)ROLLBACK T

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論