第3章 數(shù)據(jù)庫的創(chuàng)建與管理_第1頁
已閱讀1頁,還剩52頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第3章 數(shù)據(jù)庫的創(chuàng)建與管理,本章學(xué)習(xí)目標(biāo),l 熟悉數(shù)據(jù)庫對象及文件組成l   了解系統(tǒng)數(shù)據(jù)庫及示例數(shù)據(jù)庫作用l 熟練創(chuàng)建和管理數(shù)據(jù)庫,3.1 數(shù)據(jù)庫組成與文件,3.1.1 數(shù)據(jù)庫文件 在SQL Server 2000中,每個數(shù)據(jù)庫均用一組操作系統(tǒng)文件來存放,數(shù)據(jù)庫中的所有數(shù)據(jù)、對象和數(shù)據(jù)庫操作都存放在這些操作系統(tǒng)文件中。根據(jù)這些文件的作用不同,可以分為三類:,(1)主數(shù)據(jù)文件(P

2、rimary):用來存放數(shù)據(jù),每個數(shù)據(jù)庫都必須有一個主數(shù)據(jù)文件,其后綴為.MDF。  (2)次數(shù)據(jù)文件(Secondary):用來存放數(shù)據(jù),一個數(shù)據(jù)庫可以沒有也可以有多個次數(shù)據(jù)文件,其后綴為.NDF。  (3)事務(wù)日志文件(Transaction Log):用來存放事務(wù)日志,每個數(shù)據(jù)庫必須有一個或多個事務(wù)日志文件,其后綴為.LDF。,一般情況下,一個數(shù)據(jù)庫至少由一個主數(shù)據(jù)文件和一個事務(wù)日志文件組成。也可以根據(jù)

3、實際需要,給數(shù)據(jù)庫設(shè)置多個次數(shù)據(jù)文件和其他日志文件,并將它們放在不同的磁盤上。 默認(rèn)狀態(tài)下,數(shù)據(jù)庫文件存放在\MSSQL\data\目錄下,主數(shù)據(jù)文件名為“數(shù)據(jù)庫名_Data.MDF”,日志文件名為“數(shù)據(jù)庫名_Log.LDF”。數(shù)據(jù)庫的創(chuàng)建者可以在創(chuàng)建時指定其他的路徑和文件名,也可以添加Secondary文件和更多的日志文件。,3.1.2 數(shù)據(jù)庫組成,1.?dāng)?shù)據(jù)庫對象 SQL Server的每一個數(shù)據(jù)庫都由關(guān)系圖(Rel

4、ation Map)、表(Table)、視圖(View)、存儲過程 (Stored procedures)、觸發(fā)器(Triggers)、用戶自定義數(shù)據(jù)類型(User-defined data types)、用戶自定義函數(shù)(User-defined functions)、索引(Indexes)、規(guī)則(Constraints)、默認(rèn)值(Defaults)等數(shù)據(jù)庫對象組成,如圖3-1所示。,,圖3-1 數(shù)據(jù)庫的組成,2.系統(tǒng)數(shù)據(jù)庫和示例數(shù)據(jù)

5、庫 在完成SQL Server安裝后,系統(tǒng)即會自動創(chuàng)建6個數(shù)據(jù)庫。它們分別是master、tempdb、model和msdb這4個系統(tǒng)數(shù)據(jù)庫和Northwind、Pubs這2個示例數(shù)據(jù)庫。如圖3-1所示。 (1)master數(shù)據(jù)庫 master是一個最重要的系統(tǒng)數(shù)據(jù)庫,它記錄了SQL Server系統(tǒng)級的所有信息,包括系統(tǒng)中所有的登錄賬號、系統(tǒng)配置信息、所有數(shù)據(jù)庫的信息、所有數(shù)據(jù)庫及數(shù)據(jù)庫文件的地址等。

6、每個數(shù)據(jù)庫都有屬于自己的一組系統(tǒng)表,記錄了每個數(shù)據(jù)庫各自的系統(tǒng)信息,這些表在創(chuàng)建數(shù)據(jù)庫時自動產(chǎn)生。為了與用戶創(chuàng)建的表相區(qū)別,這些表被稱為系統(tǒng)表,表名都以“sys”開頭。master數(shù)據(jù)庫中還有很多系統(tǒng)存儲過程和擴展存儲過程。系統(tǒng)存儲過程是預(yù)先編譯好的程序,所有的系統(tǒng)存儲過程的名字都以“sp_”開頭。,(2)tempdb數(shù)據(jù)庫 tempdb 數(shù)據(jù)庫用于存放所有連接到系統(tǒng)的用戶臨時表和臨時存儲過程以及SQL Server產(chǎn)生的其他

7、臨時性的對象。tempdb是SQL Server中負(fù)擔(dān)最重的數(shù)據(jù)庫,因為幾乎所有的查詢都可能需要使用它。 在SQL Server 關(guān)閉時,tempdb數(shù)據(jù)庫中的所有對象都被刪除,每次啟動SQL Server時,tempdb數(shù)據(jù)庫里面總是空的。(3)model數(shù)據(jù)庫 model數(shù)據(jù)庫是一個模板數(shù)據(jù)庫,它包含了用戶數(shù)據(jù)庫中應(yīng)該包含的所有系統(tǒng)表以及其他對象的結(jié)構(gòu)。model數(shù)據(jù)庫的容量為2MB,其中1MB存放數(shù)據(jù)庫,1MB存放

8、事務(wù)日志。當(dāng)創(chuàng)建用戶數(shù)據(jù)庫時,系統(tǒng)自動地把model數(shù)據(jù)庫中的內(nèi)容拷貝到新建的用戶數(shù)據(jù)庫中,然后把它擴充到命令所要求的容量。因此,新數(shù)據(jù)庫絕對不能比model數(shù)據(jù)庫小。,(4)msdb數(shù)據(jù)庫 msdb 數(shù)據(jù)庫記錄了有關(guān)SQL Server Agent代理服務(wù)的有關(guān)信息,如安排報警、作業(yè),并記錄操作員等信息。(5)示例數(shù)據(jù)庫 SQL Server在安裝時還自動創(chuàng)建了兩個示例數(shù)據(jù)庫:pubs和northwind,是供讀者作

9、為學(xué)習(xí)工具使用的。Northwind數(shù)據(jù)庫保存著一個虛構(gòu)的貿(mào)易公司的數(shù)據(jù)信息。Pubs數(shù)據(jù)庫保存著一個虛構(gòu)的出版公司的數(shù)據(jù)信息。,3.2 創(chuàng)建數(shù)據(jù)庫,在SQL Server 2000中,可以使用三種方法創(chuàng)建數(shù)據(jù)庫。它們是使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫;使用向?qū)?chuàng)建數(shù)據(jù)庫;使用CREATE DATABASE語句創(chuàng)建數(shù)據(jù)庫 可以采用下列任意一種方法打開數(shù)據(jù)庫屬性對話框:,(1)展開服務(wù)器,單擊【數(shù)據(jù)庫】,選擇【操作】菜單中的【新建數(shù)據(jù)庫

10、】命令。(2)展開服務(wù)器,右擊【數(shù)據(jù)庫】,在彈出的快捷菜單中選擇【新建數(shù)據(jù)庫】命令。,數(shù)據(jù)庫屬性對話框如圖3-2所示。該對話框主要顯示3部分內(nèi)容,第一部分顯示數(shù)據(jù)庫的狀態(tài)、數(shù)據(jù)庫所有者、創(chuàng)建時間、數(shù)據(jù)庫大小、可以使用的空間、用戶數(shù)等狀態(tài)信息;第二部分顯示數(shù)據(jù)庫和事務(wù)日志的備份狀況;第三部分顯示數(shù)據(jù)庫維護計劃和排序規(guī)則。,【例3-1】創(chuàng)建一個名為XSCJ的學(xué)生成績管理數(shù)據(jù)庫,主數(shù)據(jù)文件名為XSCJ_Data.MDF,初始大小為1MB。事

11、務(wù)日志文件名為XSCJ_Log.LDF,初始容量為1MB。 在企業(yè)管理器中創(chuàng)建數(shù)據(jù)庫可以按以下步驟操作:①展開服務(wù)器,右擊【數(shù)據(jù)庫】,在彈出的快捷菜單中選擇【新建數(shù)據(jù)庫】命令。②在數(shù)據(jù)庫屬性對話框的【名稱】欄輸入學(xué)生成績管理數(shù)據(jù)庫的名稱,該名稱必須遵循標(biāo)識符的定義規(guī)則,這里輸入“XSCJ”。如圖3-3所示。,圖3-2 數(shù)據(jù)庫屬性對話框 圖3-3 輸入學(xué)生成績管理數(shù)據(jù)庫的名稱,③單擊【數(shù)據(jù)文件】標(biāo)

12、簽,如圖3-4所示,在文件名和位置欄可以修改文件名和文件存放的位置,也可以單擊按鈕后進行修改。本例采用系統(tǒng)默認(rèn)的數(shù)據(jù)庫文件名“XSCJ_Data”,將路徑改為“C:\”,數(shù)據(jù)庫文件大小設(shè)置為1MB。,圖3-4 數(shù)據(jù)文件標(biāo)簽頁 圖3-5 完成設(shè)置后的數(shù)據(jù)庫文件標(biāo)簽頁,④系統(tǒng)給出文件組的默認(rèn)值為PRIMARY,它表示當(dāng)前的這個數(shù)據(jù)文件是主文件,系統(tǒng)默認(rèn)的文件后綴名為.MDF。

13、 ⑤數(shù)據(jù)庫文件增長采用【按兆字節(jié)】,將文件增長限制為5MB,設(shè)置結(jié)果如圖3-5所示。 ⑥單擊【事務(wù)日志】標(biāo)簽,出現(xiàn)如圖3-6所示對話框。設(shè)置方法與數(shù)據(jù)庫文件設(shè)置類似,本例采用系統(tǒng)默認(rèn)的事務(wù)日志文件名“XSCJ_Log”,文件后綴為系統(tǒng)默認(rèn)的.LDF。將文件存放位置改為“C:\”,事務(wù)日志文件初始大小設(shè)置為1MB。 ⑦事務(wù)日志文件同樣采用【按兆字節(jié)】,將文件增長限制為5MB,如圖3-6所示。 也可將數(shù)據(jù)文件和

14、事務(wù)日志文件屬性設(shè)置為自動增長,增長方式可選擇按兆字節(jié)增長和按百分比增長兩種。,圖3-6 【事務(wù)日志】標(biāo)簽及設(shè)置,⑧設(shè)置完成之后,單擊【確定】按鈕,即可在企業(yè)管理器中看到如圖3-7所示的數(shù)據(jù)庫組成信息。,圖3-7 XSCJ數(shù)據(jù)庫組成,3.2.2 使用向?qū)?chuàng)建數(shù)據(jù)庫 用戶也可以使用向?qū)?chuàng)建數(shù)據(jù)庫,例如要創(chuàng)建一個名為XJGL的數(shù)據(jù)庫,步驟如下: ①在企業(yè)管理器中,選擇【工具】菜單中的【向?qū)А棵?,打開【選擇向?qū)А繉?/p>

15、話框,如圖3-8所示。 ②選擇【創(chuàng)建數(shù)據(jù)庫向?qū)А?,單擊【確定】按鈕,出現(xiàn)如圖3-9所示的歡迎對話框。 ③單擊【下一步】按鈕,出現(xiàn)命名數(shù)據(jù)庫和指定數(shù)據(jù)庫文件位置對話框,如圖3-10所示。,圖3-8 選擇向?qū)υ捒?圖3-9 創(chuàng)建數(shù)據(jù)庫向?qū)У臍g迎對話框,④在圖3-10所示的數(shù)據(jù)庫名稱框中輸入“CJGL”;在【數(shù)據(jù)庫文件位置】框中單擊按鈕指定數(shù)據(jù)文件的存放位置;在【事務(wù)日志文件位置】

16、框中單擊按鈕指定事務(wù)日志文件存放的位置。,⑤單擊【下一步】按鈕,顯示【命名數(shù)據(jù)庫文件】對話框,在此可修改數(shù)據(jù)庫文件名和初始大小,此處將數(shù)據(jù)文件初始大小設(shè)置為2MB,如圖3-11所示。,,圖3-10 命名數(shù)據(jù)庫并指定文件位置對話框 圖3-11 命名數(shù)據(jù)庫文件對話框,⑥單擊【下一步】按鈕,顯示【定義數(shù)據(jù)庫文件的增長】對話框,選擇【按兆字節(jié)(MB)為單位增長文件】,【文件增長的最大值(MB)】框輸入5,如圖3-12所示。

17、⑦單擊【下一步】按鈕,顯示【命名事務(wù)日志文件】對話框,在此可修改事務(wù)日志文件名和初始大小,此處將事務(wù)日志文件初始大小設(shè)置為1MB,如圖3-13所示。,圖3-12 定義數(shù)據(jù)庫文件增長對話框 圖3-13 命名事務(wù)日志文件對話框,⑧單擊【下一步】按鈕,顯示 【定義事務(wù)日志文件的增長】對話框,選擇【按兆字節(jié)(MB)為單位增長文件】,【文件增長的最大值(MB)】框輸入6,如圖3-14所示。⑨單擊【下一步】按鈕,顯

18、示 【確認(rèn)設(shè)置】對話框,如圖3-15所示。單擊【上一步】按鈕可進行修改,單擊【完成】按鈕,系統(tǒng)將顯示【創(chuàng)建成功】信息,如圖3-16所示。,圖3-14 定義事務(wù)日志文件的增長對話框 圖3-15 完成創(chuàng)建數(shù)據(jù)庫確認(rèn)對話框,⑩單擊【確定】按鈕,系統(tǒng)提示是否希望為所建數(shù)據(jù)庫創(chuàng)建維護計劃,如圖3-17所示,選擇【是】,則創(chuàng)建一個數(shù)據(jù)庫維護計劃,否則完成數(shù)據(jù)庫的創(chuàng)建過程。,圖3-16 數(shù)據(jù)庫創(chuàng)建成功對話框

19、 圖3-17 創(chuàng)建維護計劃提示對話框,3.2.3 使用CREATE DATABASE語句創(chuàng)建數(shù)據(jù)庫 在SQL Server 2000中,也可用CREATE DATABASE語句來創(chuàng)建一個新數(shù)據(jù)庫和存儲該數(shù)據(jù)庫文件。其語法為:CREATE DATABASE database_name[ON{[PRIMARY] (NAME=logical_file_name,FILENAME=’os_file_name’[,SIZE

20、=size][,MAXSIZE=max_size][,FILEGROWTH=growth_increment,])}[,…n]][LOG ON{(NAME=logical_name,FILENAME=’ os_file_name’[,SIZE=size]}[ ,…n]],其中:l           database

21、_name:表示為數(shù)據(jù)庫取的名字,在同一個服務(wù)器內(nèi)數(shù)據(jù)庫的名字必須惟一。數(shù)據(jù)庫的名字必須符合SQL Server系統(tǒng)的標(biāo)識符命名標(biāo)準(zhǔn),即最大不得超過128個字符。l         PRIMARY:該選項用于指定主文件組中的文件。一個數(shù)據(jù)庫只能有一個主文件。如果沒有使用PRIMARY關(guān)鍵字,默認(rèn)列在語句中的第一個文件即為主文件。 l  

22、;       NAME:指定數(shù)據(jù)庫的邏輯名稱,這是在SQL Server系統(tǒng)中使用的名稱,是數(shù)據(jù)庫在SQL Server中的標(biāo)識。l         FILENAME:指定數(shù)據(jù)庫所在文件的操作系統(tǒng)文件名稱和路徑,該操作系統(tǒng)文件名和NAME的邏輯名稱一一對應(yīng)。并且路徑必須存在l 

23、60;       SIZE:指定數(shù)據(jù)庫的初始容量大小。指定大小的數(shù)字size可以使用KB、MB后綴,默認(rèn)的后綴為MB。Size中不能使用小數(shù),其最小值為512KB,默認(rèn)值為1MB。如果沒有指定主文件的大小,則SQL Server默認(rèn)為1MB。主文件的size不能小于1MB。l         M

24、AXSIZE:指定操作系統(tǒng)文件可以增長到的最大尺寸。計量單位為MB或KB??梢圆恢付ㄓ嬃繂挝?,則系統(tǒng)默認(rèn)為MB。如果沒有指定可以增長的最大尺寸,則文件可以不斷增長直到充滿整個磁盤空間。l FILEGROWTH:指定文件增量的大小,當(dāng)指定數(shù)據(jù)為0時,表示文件不增長。l         如果沒有指定FILEGROWTH,則默認(rèn)值為10%,每次擴容的最小值為

25、64KB。,【例3-2】創(chuàng)建一個XJGL數(shù)據(jù)庫,該數(shù)據(jù)庫的主文件邏輯名稱為XJGL_data,物理文件名為XJGL.mdf,初始大小為1MB,最大尺寸為3MB,增長速度為10%;數(shù)據(jù)庫的日志文件邏輯名稱為XJGL_log,物理文件名為XJGL.ldf,初始大小為1MB,最大尺寸為5MB,增長速度為1MB。文件存放在C:\下。 在查詢分析器中通過執(zhí)行以下語句可以創(chuàng)建此數(shù)據(jù)庫。CREATE DATABASE XJGL

26、ON ( NAME =XJGL_Data,FILENAME = 'C:\XJGL_Data.MDF',SIZE = 1,MAXSIZE=3, FILEGROWTH = 10% ) LOG ON( NAME ='XJGL_Log', FILENAME = 'C:\XJGL_Log.LDF',SIZE = 1,MAXSIZE=5,FILEGROWTH = 10%)GO,

27、運行結(jié)果如圖3-18所示,成功創(chuàng)建XJGL數(shù)據(jù)庫。在查詢分析器的結(jié)果窗口中顯示已分配存儲空間。因為有本命令中沒有指定主文件,故系統(tǒng)默認(rèn)第一個文件XJGL_data.mdf 為主文件。,圖3-18 創(chuàng)建XJGL數(shù)據(jù)庫成功,【例3-3】創(chuàng)建名為stu的數(shù)據(jù)庫,它有3個數(shù)據(jù)文件組成,其中主文件為stu_data1.mdf,使用PRIMARY關(guān)鍵字指定。Stu_data2_.ndf、stu_data3.ndf是次文件,尺寸分別為5MB,3MB

28、,2MB。事務(wù)日志文件有2個,分別為4MB、3MB。數(shù)據(jù)文件和事務(wù)日志文件的最大尺寸均為20MB,文件增量為2MB??稍诓樵兎治銎髦羞\行如下命令:CREATE DATABASE stuONPRIMARY (NAME=stu_data1, FILENAME='C:\stu_data1.mdf', SIZE=5MB, MAXSIZE=20MB, FILEGROWTH=2MB),(NAME=stu_d

29、ata2,FILENAME='C:\stu_data2.ndf', SIZE=3MB, MAXSIZE=20MB, FILEGROWTH=2MB),(NAME=stu_data3,,FILENAME='C:\stu_data3.ndf', SIZE=2MB, MAXSIZE=20MB, FILEGROWTH=2MB)LOG ON(NAME=stu_log1, FILEN

30、AME='C:\stu_log1.Ldf', SIZE=4MB, MAXSIZE=20MB, FILEGROWTH=2MB),(NAME=stu_log2, FILENAME='C:\stu_log2.Ldf', SIZE=3MB, MAXSIZE=20MB, FILEGROWTH=2MB)GO運行結(jié)果如圖3-19所示。,,圖3-19 創(chuàng)建含有3個數(shù)據(jù)文件和2個事務(wù)日志

31、文件的數(shù)據(jù)庫stu,【例3-4】顯示XSCJ數(shù)據(jù)庫信息。在查詢分析器中運行如下命令:sp_helpdb XSCJ運行結(jié)果如圖3-20所示。,,圖3-20 顯示XSCJ數(shù)據(jù)庫的信息,3.3 管理數(shù)據(jù)庫,3.3.1 查看數(shù)據(jù)庫信息 顯示數(shù)據(jù)庫信息可以有2種方法:一種是使用企業(yè)管理器,另一種是使用系統(tǒng)存儲過程sp_helpdb。1.使用企業(yè)管理器顯示數(shù)據(jù)庫信息 在企業(yè)管理器中,單擊【數(shù)據(jù)庫】,顯示

32、SQL上的所有數(shù)據(jù)庫名稱列表,選中要查看的數(shù)據(jù)庫,如XSCJ數(shù)據(jù)庫,系統(tǒng)即顯示該數(shù)據(jù)庫包含的關(guān)系圖、表、視圖、存儲過程、用戶等信息。2.使用sp_helpdb顯示數(shù)據(jù)庫信息 系統(tǒng)存儲過程sp_helpdb [數(shù)據(jù)庫文件名]顯示數(shù)據(jù)庫名稱、尺寸、所有者、數(shù)據(jù)庫ID、創(chuàng)建時間、數(shù)據(jù)庫狀態(tài)、更新情況(可讀寫)、多用戶、完全恢復(fù)、版本等信息。不加可選項則顯示系統(tǒng)中所有數(shù)據(jù)庫信息。,【例3-4】顯示XSCJ數(shù)據(jù)庫信息。在查詢分析器中運

33、行如下命令:sp_helpdb XSCJ運行結(jié)果如圖3-20所示。,,圖3-20 顯示XSCJ數(shù)據(jù)庫的信息,【例3-5】顯示系統(tǒng)中的所有數(shù)據(jù)庫信息。在查詢分析器中運行如下命令:sp_helpdb運行結(jié)果如圖3-21所示。,,圖3-21 顯示系統(tǒng)中的所有數(shù)據(jù)庫信息,3.3.2 擴充數(shù)據(jù)庫容量隨著數(shù)據(jù)量和日志量的不斷增加,會出現(xiàn)數(shù)據(jù)庫和事務(wù)日志的存儲空間不夠的問題,在SQL Server 2000中,數(shù)據(jù)庫所有者可以使用3

34、種方法增加數(shù)據(jù)庫和事務(wù)日志的容量。1.在創(chuàng)建數(shù)據(jù)庫時,指定文件可以按照給定的文件增量進行自動增長。2.使用ALTER DATABASE命令增加數(shù)據(jù)庫和事務(wù)日志容量。3.使用ALTER DATABASE命令增加數(shù)據(jù)庫次要文件和事務(wù)日志容量。ALTER DATABASE語句的語法如下:,ALTER DATABASE database_name{ADD FILE [,…n] [TO FILEGROUP filegroup_name]

35、|ADD LOG FILE [,…n]|REMOVE FILE logical_file_name |REMOVE FILEGROUP filegroup_name |MODIFY FILE |MODIFY NAME=new_database_name|ADD FILEGROUP filegroup_name|MODIFY FILEGROUP filegroup_name::=(|NAME=logical_file_

36、name[,NEWNAME=new_logical_file_name][,FILENAME=’os_file_name’][,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,FILEGROWTH=growth_increment,]),其中:ADD FILE [,…n] [TO FILEGROUP filegroup_name]:表示向指定的文件組中添加新的數(shù)據(jù)文件。ADD LOG

37、FILE [,…n]:增加新的日志文件。l     REMOVE FILE logical_file_name:刪除指定的操作系統(tǒng)文件。l    REMOVE FILEGROUP filegroup_name:刪除指定的文件組。l    MODIFY FILE :修改某個操作系統(tǒng)文件。l   

38、 MODIFY NAME=new_databasename:重命名數(shù)據(jù)庫。l    ADD FILEGROUP filegroup_name:增加一個文件組。l MODIFY FILEGROUP filegroup_name:修改某個指定文件組的屬性。,【例3-6】將數(shù)據(jù)庫的數(shù)據(jù)文件XSCJ_data和XSCJ_log分別由原先的1MB擴充為2MB。在查詢分析器中運行如下命令

39、:USE XSCJGOALTER DATABASE XSCJMODIFY FILE(NAME='XSCJ_DATA',SIZE=2MB)GOALTER DATABASE XSCJMODIFY FILE(NAME='XSCJ_LOG',SIZE=2MB)GO,執(zhí)行后,在查詢分析器中執(zhí)行sp_helpdb XSCJ,顯示XSCJ數(shù)據(jù)庫的容量已為4MB,如圖3-22所示。,,圖3-22,1

40、.使用企業(yè)管理器壓縮數(shù)據(jù)庫。在企業(yè)管理器中,右擊要壓縮的數(shù)據(jù)庫(如stu數(shù)據(jù)庫),在快捷菜單中選擇【所有任務(wù)】下的【收縮數(shù)據(jù)庫(D)】命令,在打開的對話框中按需要設(shè)置即可。如圖3-23所示。,,圖3-23 使用企業(yè)管理器壓縮數(shù)據(jù)庫,2.使用DBCC SHRINK DATABASE命令收縮數(shù)據(jù)庫。 其語法格式為:DBCC SHRINKDATABASE(database_name [,target_percent][,{NOTRU

41、NCATE |TRUNCATEONLY}]) 其中:l         Target_percent:當(dāng)數(shù)據(jù)庫收縮后,數(shù)據(jù)庫文件中剩余可用空間的百分比。 l         NOTRUNCATE:被釋放的文件空間依然保持在數(shù)據(jù)庫文件中。如果未指定,將所釋放的文件空間被操作系

42、統(tǒng)回收。l  TRUNCATEONLY:將數(shù)據(jù)文件中未使用的空間釋放給操作系統(tǒng),并將文件收縮到上一次所分配的大小。使用 TRUNCATEONLY 時,將忽略 target_percent的限制。,【例3-7】將XSCJ數(shù)據(jù)庫由4MB壓縮到原來的50%。在查詢分析器中運行如下命令: USE XSCJGODBCC SHRINKDATABASE(XSCJ,50)GO運行結(jié)果如圖3-24所示。,圖3-

43、24 壓縮XSCJ數(shù)據(jù)庫,3.使用DBCC SHRINKFILE命令收縮數(shù)據(jù)庫的指定數(shù)據(jù)文件或日志文件大小 DBCC SHRINKFILE的語法格式如下:DBCC SHRINKFILE(file_name {[,target_size]|[,{EMPTYFILE|NOTRUNCATE|TRUNCATEONLY}]}) 其中:,l file_name:要收縮文件的邏輯名稱。 l target_size:將文件縮小到指定

44、的長度,以MB為單位。如果不指定,將文件減少到最大程度。l EMPTYFILE:將數(shù)據(jù)從指定文件中轉(zhuǎn)移到同一文件組中的其它文件。l NOTRUNCATE和TRUNCATEONLY:與DBCC SHRINKDATABASE命令中相同。,【例3-8】將stu數(shù)據(jù)庫的數(shù)據(jù)文件stu_data1由5MB壓縮為1MB。在查詢分析器中運行如下命令:USE stuGODBCC SHRINKFILE(STU_DATA1,1)GO從運行結(jié)

45、果如圖3-25所示,從中可以看到,文件已經(jīng)進行了壓縮。運行sp_helpdb stu命令,結(jié)果STU_DATA1文件已經(jīng)由原來的5MB壓縮為1MB。Stu數(shù)據(jù)庫也由原來的17MB壓縮為13MB。,,圖3-25 數(shù)據(jù)文件STU_DATA1已由原來的5MB壓縮到1MB,3.3.4 數(shù)據(jù)庫更名 在重新命名數(shù)據(jù)庫之前,應(yīng)該確保沒有用戶使用該數(shù)據(jù)庫,而且數(shù)據(jù)庫應(yīng)該設(shè)置為單用戶模式。SQL Server使用系統(tǒng)存儲過程sp_renam

46、edb更名數(shù)據(jù)庫,其語法如下: sp_renamedb '舊數(shù)據(jù)庫文件名' , '新數(shù)據(jù)庫文件名',【例3-9】將數(shù)據(jù)庫stu更名為student。在查詢分析器中運行如下命令即可更名:sp_renamedb 'stu','student' GO,3.3.5 刪除數(shù)據(jù)庫 當(dāng)數(shù)據(jù)庫無用時,為了節(jié)省磁盤空間,可以刪除數(shù)據(jù)庫。刪除數(shù)據(jù)庫可以使用企業(yè)管

47、理器和DROP DATABASE語句兩種方法,前者一次只能刪除一個數(shù)據(jù)庫,后者一次可刪除多個數(shù)據(jù)庫。但使用后一種方法刪除數(shù)據(jù)庫時,系統(tǒng)不會給出確認(rèn)提示,故須十分謹(jǐn)慎。1.使用企業(yè)管理器刪除數(shù)據(jù)庫 在企業(yè)管理器中右擊要刪除的數(shù)據(jù)庫,在彈出的快捷菜單中選擇【刪除】命令,并進行確認(rèn)即可。如圖3-26所示。,圖3-26 使用企業(yè)管理器刪除數(shù)據(jù)庫,2.利用DROP DATABASE語句刪除數(shù)據(jù)庫 DROP DATABASE

48、 數(shù)據(jù)庫文件名[,…n] 【例3-10】刪除stu數(shù)據(jù)庫在查詢分析器中運行如下命令:DROP DATABASE stuGO運行結(jié)果如圖3-27所示。,圖3-27 刪除stu數(shù)據(jù)庫,但是,當(dāng)出現(xiàn)以下幾種情況時,將無法刪除數(shù)據(jù)庫:(1)當(dāng)數(shù)據(jù)庫正在使用時。(2)當(dāng)有用戶正在對數(shù)據(jù)庫進行操作時。(3)當(dāng)數(shù)據(jù)庫正在執(zhí)行數(shù)據(jù)復(fù)制時。,本章小結(jié) 本章主要介紹了數(shù)據(jù)庫的創(chuàng)建和管理知識。

49、 在本章中同學(xué)們學(xué)習(xí)了數(shù)據(jù)庫文件和數(shù)據(jù)庫組成的基礎(chǔ)知識,并重點學(xué)習(xí)了數(shù)據(jù)庫的幾種創(chuàng)建和管理技術(shù)。本章應(yīng)重點掌握如何根據(jù)需要創(chuàng)建數(shù)據(jù)庫,并對其進行有效的管理。,思考與練習(xí)一、選擇題1、每個數(shù)據(jù)庫有且只能有一個( )。A、次數(shù)據(jù)文件 B、主數(shù)據(jù)文件 C、日志文件 D、其他2、如果數(shù)據(jù)庫中的數(shù)據(jù)量非常大,除了存儲在主數(shù)據(jù)文件中,可以將一部分

50、數(shù)據(jù)存儲在( )。A、次數(shù)據(jù)文件 B、主數(shù)據(jù)文件 C、日志文件 D、其他3、下列哪種命令可以顯示數(shù)據(jù)庫信息( )A、sp_helpdb B、sp_renamedb C、DBCC SHRINKDATABASE D、DBCC SHRINKFILE 4、下列哪種命令可以用來壓縮數(shù)據(jù)庫容量( )A、sp_helpdb B、sp_renamedb

51、 C、DBCC SHRINKDATABASE D、DBCC SHRINKFILE,5、使用下列哪種語句可以創(chuàng)建數(shù)據(jù)庫( )。A、CREATE DATABASE B、CREATE TABLE C、ALTER DATABASE D、ALTER TABLE 6、使用下列哪種語句可以修改數(shù)據(jù)庫( )。A、CREATE DATABASE B、CREATE TABLE C、ALTER

52、 DATABASE D、ALTER TABLE 7、使用下列哪種語句可以刪除數(shù)據(jù)庫( )。A、DROP DATABASE B、CREATE TABLE C、ALTER DATABASE D、DROP TABLE 二、填空題1、從物理結(jié)構(gòu)層次上說,SQL SERVER2000 數(shù)據(jù)庫是由兩個或多個文件組成,根據(jù)文件的作用,可以將這些文件分三類:

53、___________、和_____________。2、一般情況下,一個數(shù)據(jù)庫至少由____個主數(shù)據(jù)文件和_____個事務(wù)日志文件組成。,3、默認(rèn)狀態(tài)下,數(shù)據(jù)庫文件存放在________目錄下,主數(shù)據(jù)文件名為_____________,日志文件名為_________________。4、SQL Server的每一個數(shù)據(jù)庫都由________、________、________、________、________、________、

54、________、________、________、________等數(shù)據(jù)庫對象組成。 5、在SQL SERVER 2000中,創(chuàng)建數(shù)據(jù)庫有多種方法。歸納起來,一共有三種方法:________、___________和____________ 。6、在完成SQL Server安裝后,系統(tǒng)即會自動創(chuàng)建6個數(shù)據(jù)庫。它們分別是________、________、________、________這4個系統(tǒng)數(shù)據(jù)庫和________、___

55、_____這2個示例數(shù)據(jù)庫。其中,________是最重要的系統(tǒng)數(shù)據(jù)庫。 三、簡答題1、簡述數(shù)據(jù)庫文件的分類及特點。2、簡述系統(tǒng)數(shù)據(jù)庫的作用。,項目實訓(xùn) 1、創(chuàng)建貨物數(shù)據(jù)庫,要求:主數(shù)據(jù)文件名為goods_data.MDF,存放在C:\目錄下,初始值 大小為2MB,增長方式為按照10%的比例增長;次數(shù)據(jù)文件名為goods_data1.NDF和goods_data2.NDF,都存放在D:\目錄下,初始大小為1MB,

溫馨提示

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

評論

0/150

提交評論