

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第3章 數(shù)據(jù)庫(kù)的創(chuàng)建與管理,本章學(xué)習(xí)目標(biāo),l 熟悉數(shù)據(jù)庫(kù)對(duì)象及文件組成l 了解系統(tǒng)數(shù)據(jù)庫(kù)及示例數(shù)據(jù)庫(kù)作用l 熟練創(chuàng)建和管理數(shù)據(jù)庫(kù),3.1 數(shù)據(jù)庫(kù)組成與文件,3.1.1 數(shù)據(jù)庫(kù)文件 在SQL Server 2000中,每個(gè)數(shù)據(jù)庫(kù)均用一組操作系統(tǒng)文件來存放,數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)、對(duì)象和數(shù)據(jù)庫(kù)操作都存放在這些操作系統(tǒng)文件中。根據(jù)這些文件的作用不同,可以分為三類:,(1)主數(shù)據(jù)文件(P
2、rimary):用來存放數(shù)據(jù),每個(gè)數(shù)據(jù)庫(kù)都必須有一個(gè)主數(shù)據(jù)文件,其后綴為.MDF。 (2)次數(shù)據(jù)文件(Secondary):用來存放數(shù)據(jù),一個(gè)數(shù)據(jù)庫(kù)可以沒有也可以有多個(gè)次數(shù)據(jù)文件,其后綴為.NDF。 (3)事務(wù)日志文件(Transaction Log):用來存放事務(wù)日志,每個(gè)數(shù)據(jù)庫(kù)必須有一個(gè)或多個(gè)事務(wù)日志文件,其后綴為.LDF。,一般情況下,一個(gè)數(shù)據(jù)庫(kù)至少由一個(gè)主數(shù)據(jù)文件和一個(gè)事務(wù)日志文件組成。也可以根據(jù)
3、實(shí)際需要,給數(shù)據(jù)庫(kù)設(shè)置多個(gè)次數(shù)據(jù)文件和其他日志文件,并將它們放在不同的磁盤上。 默認(rèn)狀態(tài)下,數(shù)據(jù)庫(kù)文件存放在\MSSQL\data\目錄下,主數(shù)據(jù)文件名為“數(shù)據(jù)庫(kù)名_Data.MDF”,日志文件名為“數(shù)據(jù)庫(kù)名_Log.LDF”。數(shù)據(jù)庫(kù)的創(chuàng)建者可以在創(chuàng)建時(shí)指定其他的路徑和文件名,也可以添加Secondary文件和更多的日志文件。,3.1.2 數(shù)據(jù)庫(kù)組成,1.?dāng)?shù)據(jù)庫(kù)對(duì)象 SQL Server的每一個(gè)數(shù)據(jù)庫(kù)都由關(guān)系圖(Rel
4、ation Map)、表(Table)、視圖(View)、存儲(chǔ)過程 (Stored procedures)、觸發(fā)器(Triggers)、用戶自定義數(shù)據(jù)類型(User-defined data types)、用戶自定義函數(shù)(User-defined functions)、索引(Indexes)、規(guī)則(Constraints)、默認(rèn)值(Defaults)等數(shù)據(jù)庫(kù)對(duì)象組成,如圖3-1所示。,,圖3-1 數(shù)據(jù)庫(kù)的組成,2.系統(tǒng)數(shù)據(jù)庫(kù)和示例數(shù)據(jù)
5、庫(kù) 在完成SQL Server安裝后,系統(tǒng)即會(huì)自動(dòng)創(chuàng)建6個(gè)數(shù)據(jù)庫(kù)。它們分別是master、tempdb、model和msdb這4個(gè)系統(tǒng)數(shù)據(jù)庫(kù)和Northwind、Pubs這2個(gè)示例數(shù)據(jù)庫(kù)。如圖3-1所示。 (1)master數(shù)據(jù)庫(kù) master是一個(gè)最重要的系統(tǒng)數(shù)據(jù)庫(kù),它記錄了SQL Server系統(tǒng)級(jí)的所有信息,包括系統(tǒng)中所有的登錄賬號(hào)、系統(tǒng)配置信息、所有數(shù)據(jù)庫(kù)的信息、所有數(shù)據(jù)庫(kù)及數(shù)據(jù)庫(kù)文件的地址等。
6、每個(gè)數(shù)據(jù)庫(kù)都有屬于自己的一組系統(tǒng)表,記錄了每個(gè)數(shù)據(jù)庫(kù)各自的系統(tǒng)信息,這些表在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)自動(dòng)產(chǎn)生。為了與用戶創(chuàng)建的表相區(qū)別,這些表被稱為系統(tǒng)表,表名都以“sys”開頭。master數(shù)據(jù)庫(kù)中還有很多系統(tǒng)存儲(chǔ)過程和擴(kuò)展存儲(chǔ)過程。系統(tǒng)存儲(chǔ)過程是預(yù)先編譯好的程序,所有的系統(tǒng)存儲(chǔ)過程的名字都以“sp_”開頭。,(2)tempdb數(shù)據(jù)庫(kù) tempdb 數(shù)據(jù)庫(kù)用于存放所有連接到系統(tǒng)的用戶臨時(shí)表和臨時(shí)存儲(chǔ)過程以及SQL Server產(chǎn)生的其他
7、臨時(shí)性的對(duì)象。tempdb是SQL Server中負(fù)擔(dān)最重的數(shù)據(jù)庫(kù),因?yàn)閹缀跛械牟樵兌伎赡苄枰褂盟?在SQL Server 關(guān)閉時(shí),tempdb數(shù)據(jù)庫(kù)中的所有對(duì)象都被刪除,每次啟動(dòng)SQL Server時(shí),tempdb數(shù)據(jù)庫(kù)里面總是空的。(3)model數(shù)據(jù)庫(kù) model數(shù)據(jù)庫(kù)是一個(gè)模板數(shù)據(jù)庫(kù),它包含了用戶數(shù)據(jù)庫(kù)中應(yīng)該包含的所有系統(tǒng)表以及其他對(duì)象的結(jié)構(gòu)。model數(shù)據(jù)庫(kù)的容量為2MB,其中1MB存放數(shù)據(jù)庫(kù),1MB存放
8、事務(wù)日志。當(dāng)創(chuàng)建用戶數(shù)據(jù)庫(kù)時(shí),系統(tǒng)自動(dòng)地把model數(shù)據(jù)庫(kù)中的內(nèi)容拷貝到新建的用戶數(shù)據(jù)庫(kù)中,然后把它擴(kuò)充到命令所要求的容量。因此,新數(shù)據(jù)庫(kù)絕對(duì)不能比model數(shù)據(jù)庫(kù)小。,(4)msdb數(shù)據(jù)庫(kù) msdb 數(shù)據(jù)庫(kù)記錄了有關(guān)SQL Server Agent代理服務(wù)的有關(guān)信息,如安排報(bào)警、作業(yè),并記錄操作員等信息。(5)示例數(shù)據(jù)庫(kù) SQL Server在安裝時(shí)還自動(dòng)創(chuàng)建了兩個(gè)示例數(shù)據(jù)庫(kù):pubs和northwind,是供讀者作
9、為學(xué)習(xí)工具使用的。Northwind數(shù)據(jù)庫(kù)保存著一個(gè)虛構(gòu)的貿(mào)易公司的數(shù)據(jù)信息。Pubs數(shù)據(jù)庫(kù)保存著一個(gè)虛構(gòu)的出版公司的數(shù)據(jù)信息。,3.2 創(chuàng)建數(shù)據(jù)庫(kù),在SQL Server 2000中,可以使用三種方法創(chuàng)建數(shù)據(jù)庫(kù)。它們是使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫(kù);使用向?qū)?chuàng)建數(shù)據(jù)庫(kù);使用CREATE DATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù) 可以采用下列任意一種方法打開數(shù)據(jù)庫(kù)屬性對(duì)話框:,(1)展開服務(wù)器,單擊【數(shù)據(jù)庫(kù)】,選擇【操作】菜單中的【新建數(shù)據(jù)庫(kù)
10、】命令。(2)展開服務(wù)器,右擊【數(shù)據(jù)庫(kù)】,在彈出的快捷菜單中選擇【新建數(shù)據(jù)庫(kù)】命令。,數(shù)據(jù)庫(kù)屬性對(duì)話框如圖3-2所示。該對(duì)話框主要顯示3部分內(nèi)容,第一部分顯示數(shù)據(jù)庫(kù)的狀態(tài)、數(shù)據(jù)庫(kù)所有者、創(chuàng)建時(shí)間、數(shù)據(jù)庫(kù)大小、可以使用的空間、用戶數(shù)等狀態(tài)信息;第二部分顯示數(shù)據(jù)庫(kù)和事務(wù)日志的備份狀況;第三部分顯示數(shù)據(jù)庫(kù)維護(hù)計(jì)劃和排序規(guī)則。,【例3-1】創(chuàng)建一個(gè)名為XSCJ的學(xué)生成績(jī)管理數(shù)據(jù)庫(kù),主數(shù)據(jù)文件名為XSCJ_Data.MDF,初始大小為1MB。事
11、務(wù)日志文件名為XSCJ_Log.LDF,初始容量為1MB。 在企業(yè)管理器中創(chuàng)建數(shù)據(jù)庫(kù)可以按以下步驟操作:①展開服務(wù)器,右擊【數(shù)據(jù)庫(kù)】,在彈出的快捷菜單中選擇【新建數(shù)據(jù)庫(kù)】命令。②在數(shù)據(jù)庫(kù)屬性對(duì)話框的【名稱】欄輸入學(xué)生成績(jī)管理數(shù)據(jù)庫(kù)的名稱,該名稱必須遵循標(biāo)識(shí)符的定義規(guī)則,這里輸入“XSCJ”。如圖3-3所示。,圖3-2 數(shù)據(jù)庫(kù)屬性對(duì)話框 圖3-3 輸入學(xué)生成績(jī)管理數(shù)據(jù)庫(kù)的名稱,③單擊【數(shù)據(jù)文件】標(biāo)
12、簽,如圖3-4所示,在文件名和位置欄可以修改文件名和文件存放的位置,也可以單擊按鈕后進(jìn)行修改。本例采用系統(tǒng)默認(rèn)的數(shù)據(jù)庫(kù)文件名“XSCJ_Data”,將路徑改為“C:\”,數(shù)據(jù)庫(kù)文件大小設(shè)置為1MB。,圖3-4 數(shù)據(jù)文件標(biāo)簽頁(yè) 圖3-5 完成設(shè)置后的數(shù)據(jù)庫(kù)文件標(biāo)簽頁(yè),④系統(tǒng)給出文件組的默認(rèn)值為PRIMARY,它表示當(dāng)前的這個(gè)數(shù)據(jù)文件是主文件,系統(tǒng)默認(rèn)的文件后綴名為.MDF。
13、 ⑤數(shù)據(jù)庫(kù)文件增長(zhǎng)采用【按兆字節(jié)】,將文件增長(zhǎng)限制為5MB,設(shè)置結(jié)果如圖3-5所示。 ⑥單擊【事務(wù)日志】標(biāo)簽,出現(xiàn)如圖3-6所示對(duì)話框。設(shè)置方法與數(shù)據(jù)庫(kù)文件設(shè)置類似,本例采用系統(tǒng)默認(rèn)的事務(wù)日志文件名“XSCJ_Log”,文件后綴為系統(tǒng)默認(rèn)的.LDF。將文件存放位置改為“C:\”,事務(wù)日志文件初始大小設(shè)置為1MB。 ⑦事務(wù)日志文件同樣采用【按兆字節(jié)】,將文件增長(zhǎng)限制為5MB,如圖3-6所示。 也可將數(shù)據(jù)文件和
14、事務(wù)日志文件屬性設(shè)置為自動(dòng)增長(zhǎng),增長(zhǎng)方式可選擇按兆字節(jié)增長(zhǎng)和按百分比增長(zhǎng)兩種。,圖3-6 【事務(wù)日志】標(biāo)簽及設(shè)置,⑧設(shè)置完成之后,單擊【確定】按鈕,即可在企業(yè)管理器中看到如圖3-7所示的數(shù)據(jù)庫(kù)組成信息。,圖3-7 XSCJ數(shù)據(jù)庫(kù)組成,3.2.2 使用向?qū)?chuàng)建數(shù)據(jù)庫(kù) 用戶也可以使用向?qū)?chuàng)建數(shù)據(jù)庫(kù),例如要?jiǎng)?chuàng)建一個(gè)名為XJGL的數(shù)據(jù)庫(kù),步驟如下: ①在企業(yè)管理器中,選擇【工具】菜單中的【向?qū)А棵?,打開【選擇向?qū)А繉?duì)
15、話框,如圖3-8所示。 ②選擇【創(chuàng)建數(shù)據(jù)庫(kù)向?qū)А?,單擊【確定】按鈕,出現(xiàn)如圖3-9所示的歡迎對(duì)話框。 ③單擊【下一步】按鈕,出現(xiàn)命名數(shù)據(jù)庫(kù)和指定數(shù)據(jù)庫(kù)文件位置對(duì)話框,如圖3-10所示。,圖3-8 選擇向?qū)?duì)話框 圖3-9 創(chuàng)建數(shù)據(jù)庫(kù)向?qū)У臍g迎對(duì)話框,④在圖3-10所示的數(shù)據(jù)庫(kù)名稱框中輸入“CJGL”;在【數(shù)據(jù)庫(kù)文件位置】框中單擊按鈕指定數(shù)據(jù)文件的存放位置;在【事務(wù)日志文件位置】
16、框中單擊按鈕指定事務(wù)日志文件存放的位置。,⑤單擊【下一步】按鈕,顯示【命名數(shù)據(jù)庫(kù)文件】對(duì)話框,在此可修改數(shù)據(jù)庫(kù)文件名和初始大小,此處將數(shù)據(jù)文件初始大小設(shè)置為2MB,如圖3-11所示。,,圖3-10 命名數(shù)據(jù)庫(kù)并指定文件位置對(duì)話框 圖3-11 命名數(shù)據(jù)庫(kù)文件對(duì)話框,⑥單擊【下一步】按鈕,顯示【定義數(shù)據(jù)庫(kù)文件的增長(zhǎng)】對(duì)話框,選擇【按兆字節(jié)(MB)為單位增長(zhǎng)文件】,【文件增長(zhǎng)的最大值(MB)】框輸入5,如圖3-12所示。
17、⑦單擊【下一步】按鈕,顯示【命名事務(wù)日志文件】對(duì)話框,在此可修改事務(wù)日志文件名和初始大小,此處將事務(wù)日志文件初始大小設(shè)置為1MB,如圖3-13所示。,圖3-12 定義數(shù)據(jù)庫(kù)文件增長(zhǎng)對(duì)話框 圖3-13 命名事務(wù)日志文件對(duì)話框,⑧單擊【下一步】按鈕,顯示 【定義事務(wù)日志文件的增長(zhǎng)】對(duì)話框,選擇【按兆字節(jié)(MB)為單位增長(zhǎng)文件】,【文件增長(zhǎng)的最大值(MB)】框輸入6,如圖3-14所示。⑨單擊【下一步】按鈕,顯
18、示 【確認(rèn)設(shè)置】對(duì)話框,如圖3-15所示。單擊【上一步】按鈕可進(jìn)行修改,單擊【完成】按鈕,系統(tǒng)將顯示【創(chuàng)建成功】信息,如圖3-16所示。,圖3-14 定義事務(wù)日志文件的增長(zhǎng)對(duì)話框 圖3-15 完成創(chuàng)建數(shù)據(jù)庫(kù)確認(rèn)對(duì)話框,⑩單擊【確定】按鈕,系統(tǒng)提示是否希望為所建數(shù)據(jù)庫(kù)創(chuàng)建維護(hù)計(jì)劃,如圖3-17所示,選擇【是】,則創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)維護(hù)計(jì)劃,否則完成數(shù)據(jù)庫(kù)的創(chuàng)建過程。,圖3-16 數(shù)據(jù)庫(kù)創(chuàng)建成功對(duì)話框
19、 圖3-17 創(chuàng)建維護(hù)計(jì)劃提示對(duì)話框,3.2.3 使用CREATE DATABASE語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù) 在SQL Server 2000中,也可用CREATE DATABASE語(yǔ)句來創(chuàng)建一個(gè)新數(shù)據(jù)庫(kù)和存儲(chǔ)該數(shù)據(jù)庫(kù)文件。其語(yǔ)法為: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ù)庫(kù)取的名字,在同一個(gè)服務(wù)器內(nèi)數(shù)據(jù)庫(kù)的名字必須惟一。數(shù)據(jù)庫(kù)的名字必須符合SQL Server系統(tǒng)的標(biāo)識(shí)符命名標(biāo)準(zhǔn),即最大不得超過128個(gè)字符。l PRIMARY:該選項(xiàng)用于指定主文件組中的文件。一個(gè)數(shù)據(jù)庫(kù)只能有一個(gè)主文件。如果沒有使用PRIMARY關(guān)鍵字,默認(rèn)列在語(yǔ)句中的第一個(gè)文件即為主文件。 l
22、; NAME:指定數(shù)據(jù)庫(kù)的邏輯名稱,這是在SQL Server系統(tǒng)中使用的名稱,是數(shù)據(jù)庫(kù)在SQL Server中的標(biāo)識(shí)。l FILENAME:指定數(shù)據(jù)庫(kù)所在文件的操作系統(tǒng)文件名稱和路徑,該操作系統(tǒng)文件名和NAME的邏輯名稱一一對(duì)應(yīng)。并且路徑必須存在l
23、60; SIZE:指定數(shù)據(jù)庫(kù)的初始容量大小。指定大小的數(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)文件可以增長(zhǎng)到的最大尺寸。計(jì)量單位為MB或KB??梢圆恢付ㄓ?jì)量單位,則系統(tǒng)默認(rèn)為MB。如果沒有指定可以增長(zhǎng)的最大尺寸,則文件可以不斷增長(zhǎng)直到充滿整個(gè)磁盤空間。l FILEGROWTH:指定文件增量的大小,當(dāng)指定數(shù)據(jù)為0時(shí),表示文件不增長(zhǎng)。l 如果沒有指定FILEGROWTH,則默認(rèn)值為10%,每次擴(kuò)容的最小值為
25、64KB。,【例3-2】創(chuàng)建一個(gè)XJGL數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)的主文件邏輯名稱為XJGL_data,物理文件名為XJGL.mdf,初始大小為1MB,最大尺寸為3MB,增長(zhǎng)速度為10%;數(shù)據(jù)庫(kù)的日志文件邏輯名稱為XJGL_log,物理文件名為XJGL.ldf,初始大小為1MB,最大尺寸為5MB,增長(zhǎng)速度為1MB。文件存放在C:\下。 在查詢分析器中通過執(zhí)行以下語(yǔ)句可以創(chuàng)建此數(shù)據(jù)庫(kù)。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、運(yùn)行結(jié)果如圖3-18所示,成功創(chuàng)建XJGL數(shù)據(jù)庫(kù)。在查詢分析器的結(jié)果窗口中顯示已分配存儲(chǔ)空間。因?yàn)橛斜久钪袥]有指定主文件,故系統(tǒng)默認(rèn)第一個(gè)文件XJGL_data.mdf 為主文件。,圖3-18 創(chuàng)建XJGL數(shù)據(jù)庫(kù)成功,【例3-3】創(chuàng)建名為stu的數(shù)據(jù)庫(kù),它有3個(gè)數(shù)據(jù)文件組成,其中主文件為stu_data1.mdf,使用PRIMARY關(guān)鍵字指定。Stu_data2_.ndf、stu_data3.ndf是次文件,尺寸分別為5MB,3MB
28、,2MB。事務(wù)日志文件有2個(gè),分別為4MB、3MB。數(shù)據(jù)文件和事務(wù)日志文件的最大尺寸均為20MB,文件增量為2MB??稍诓樵兎治銎髦羞\(yùn)行如下命令: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運(yùn)行結(jié)果如圖3-19所示。,,圖3-19 創(chuàng)建含有3個(gè)數(shù)據(jù)文件和2個(gè)事務(wù)日志
31、文件的數(shù)據(jù)庫(kù)stu,【例3-4】顯示XSCJ數(shù)據(jù)庫(kù)信息。在查詢分析器中運(yùn)行如下命令:sp_helpdb XSCJ運(yùn)行結(jié)果如圖3-20所示。,,圖3-20 顯示XSCJ數(shù)據(jù)庫(kù)的信息,3.3 管理數(shù)據(jù)庫(kù),3.3.1 查看數(shù)據(jù)庫(kù)信息 顯示數(shù)據(jù)庫(kù)信息可以有2種方法:一種是使用企業(yè)管理器,另一種是使用系統(tǒng)存儲(chǔ)過程sp_helpdb。1.使用企業(yè)管理器顯示數(shù)據(jù)庫(kù)信息 在企業(yè)管理器中,單擊【數(shù)據(jù)庫(kù)】,顯示
32、SQL上的所有數(shù)據(jù)庫(kù)名稱列表,選中要查看的數(shù)據(jù)庫(kù),如XSCJ數(shù)據(jù)庫(kù),系統(tǒng)即顯示該數(shù)據(jù)庫(kù)包含的關(guān)系圖、表、視圖、存儲(chǔ)過程、用戶等信息。2.使用sp_helpdb顯示數(shù)據(jù)庫(kù)信息 系統(tǒng)存儲(chǔ)過程sp_helpdb [數(shù)據(jù)庫(kù)文件名]顯示數(shù)據(jù)庫(kù)名稱、尺寸、所有者、數(shù)據(jù)庫(kù)ID、創(chuàng)建時(shí)間、數(shù)據(jù)庫(kù)狀態(tài)、更新情況(可讀寫)、多用戶、完全恢復(fù)、版本等信息。不加可選項(xiàng)則顯示系統(tǒng)中所有數(shù)據(jù)庫(kù)信息。,【例3-4】顯示XSCJ數(shù)據(jù)庫(kù)信息。在查詢分析器中運(yùn)
33、行如下命令:sp_helpdb XSCJ運(yùn)行結(jié)果如圖3-20所示。,,圖3-20 顯示XSCJ數(shù)據(jù)庫(kù)的信息,【例3-5】顯示系統(tǒng)中的所有數(shù)據(jù)庫(kù)信息。在查詢分析器中運(yùn)行如下命令:sp_helpdb運(yùn)行結(jié)果如圖3-21所示。,,圖3-21 顯示系統(tǒng)中的所有數(shù)據(jù)庫(kù)信息,3.3.2 擴(kuò)充數(shù)據(jù)庫(kù)容量隨著數(shù)據(jù)量和日志量的不斷增加,會(huì)出現(xiàn)數(shù)據(jù)庫(kù)和事務(wù)日志的存儲(chǔ)空間不夠的問題,在SQL Server 2000中,數(shù)據(jù)庫(kù)所有者可以使用3
34、種方法增加數(shù)據(jù)庫(kù)和事務(wù)日志的容量。1.在創(chuàng)建數(shù)據(jù)庫(kù)時(shí),指定文件可以按照給定的文件增量進(jìn)行自動(dòng)增長(zhǎng)。2.使用ALTER DATABASE命令增加數(shù)據(jù)庫(kù)和事務(wù)日志容量。3.使用ALTER DATABASE命令增加數(shù)據(jù)庫(kù)次要文件和事務(wù)日志容量。ALTER DATABASE語(yǔ)句的語(yǔ)法如下:,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 :修改某個(gè)操作系統(tǒng)文件。l
38、 MODIFY NAME=new_databasename:重命名數(shù)據(jù)庫(kù)。l ADD FILEGROUP filegroup_name:增加一個(gè)文件組。l MODIFY FILEGROUP filegroup_name:修改某個(gè)指定文件組的屬性。,【例3-6】將數(shù)據(jù)庫(kù)的數(shù)據(jù)文件XSCJ_data和XSCJ_log分別由原先的1MB擴(kuò)充為2MB。在查詢分析器中運(yùn)行如下命令
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ù)庫(kù)的容量已為4MB,如圖3-22所示。,,圖3-22,1
40、.使用企業(yè)管理器壓縮數(shù)據(jù)庫(kù)。在企業(yè)管理器中,右擊要壓縮的數(shù)據(jù)庫(kù)(如stu數(shù)據(jù)庫(kù)),在快捷菜單中選擇【所有任務(wù)】下的【收縮數(shù)據(jù)庫(kù)(D)】命令,在打開的對(duì)話框中按需要設(shè)置即可。如圖3-23所示。,,圖3-23 使用企業(yè)管理器壓縮數(shù)據(jù)庫(kù),2.使用DBCC SHRINK DATABASE命令收縮數(shù)據(jù)庫(kù)。 其語(yǔ)法格式為:DBCC SHRINKDATABASE(database_name [,target_percent][,{NOTRU
41、NCATE |TRUNCATEONLY}]) 其中:l Target_percent:當(dāng)數(shù)據(jù)庫(kù)收縮后,數(shù)據(jù)庫(kù)文件中剩余可用空間的百分比。 l NOTRUNCATE:被釋放的文件空間依然保持在數(shù)據(jù)庫(kù)文件中。如果未指定,將所釋放的文件空間被操作系
42、統(tǒng)回收。l TRUNCATEONLY:將數(shù)據(jù)文件中未使用的空間釋放給操作系統(tǒng),并將文件收縮到上一次所分配的大小。使用 TRUNCATEONLY 時(shí),將忽略 target_percent的限制。,【例3-7】將XSCJ數(shù)據(jù)庫(kù)由4MB壓縮到原來的50%。在查詢分析器中運(yùn)行如下命令: USE XSCJGODBCC SHRINKDATABASE(XSCJ,50)GO運(yùn)行結(jié)果如圖3-24所示。,圖3-
43、24 壓縮XSCJ數(shù)據(jù)庫(kù),3.使用DBCC SHRINKFILE命令收縮數(shù)據(jù)庫(kù)的指定數(shù)據(jù)文件或日志文件大小 DBCC SHRINKFILE的語(yǔ)法格式如下:DBCC SHRINKFILE(file_name {[,target_size]|[,{EMPTYFILE|NOTRUNCATE|TRUNCATEONLY}]}) 其中:,l file_name:要收縮文件的邏輯名稱。 l target_size:將文件縮小到指定
44、的長(zhǎng)度,以MB為單位。如果不指定,將文件減少到最大程度。l EMPTYFILE:將數(shù)據(jù)從指定文件中轉(zhuǎn)移到同一文件組中的其它文件。l NOTRUNCATE和TRUNCATEONLY:與DBCC SHRINKDATABASE命令中相同。,【例3-8】將stu數(shù)據(jù)庫(kù)的數(shù)據(jù)文件stu_data1由5MB壓縮為1MB。在查詢分析器中運(yùn)行如下命令:USE stuGODBCC SHRINKFILE(STU_DATA1,1)GO從運(yùn)行結(jié)
45、果如圖3-25所示,從中可以看到,文件已經(jīng)進(jìn)行了壓縮。運(yùn)行sp_helpdb stu命令,結(jié)果STU_DATA1文件已經(jīng)由原來的5MB壓縮為1MB。Stu數(shù)據(jù)庫(kù)也由原來的17MB壓縮為13MB。,,圖3-25 數(shù)據(jù)文件STU_DATA1已由原來的5MB壓縮到1MB,3.3.4 數(shù)據(jù)庫(kù)更名 在重新命名數(shù)據(jù)庫(kù)之前,應(yīng)該確保沒有用戶使用該數(shù)據(jù)庫(kù),而且數(shù)據(jù)庫(kù)應(yīng)該設(shè)置為單用戶模式。SQL Server使用系統(tǒng)存儲(chǔ)過程sp_renam
46、edb更名數(shù)據(jù)庫(kù),其語(yǔ)法如下: sp_renamedb '舊數(shù)據(jù)庫(kù)文件名' , '新數(shù)據(jù)庫(kù)文件名',【例3-9】將數(shù)據(jù)庫(kù)stu更名為student。在查詢分析器中運(yùn)行如下命令即可更名:sp_renamedb 'stu','student' GO,3.3.5 刪除數(shù)據(jù)庫(kù) 當(dāng)數(shù)據(jù)庫(kù)無(wú)用時(shí),為了節(jié)省磁盤空間,可以刪除數(shù)據(jù)庫(kù)。刪除數(shù)據(jù)庫(kù)可以使用企業(yè)管
47、理器和DROP DATABASE語(yǔ)句兩種方法,前者一次只能刪除一個(gè)數(shù)據(jù)庫(kù),后者一次可刪除多個(gè)數(shù)據(jù)庫(kù)。但使用后一種方法刪除數(shù)據(jù)庫(kù)時(shí),系統(tǒng)不會(huì)給出確認(rèn)提示,故須十分謹(jǐn)慎。1.使用企業(yè)管理器刪除數(shù)據(jù)庫(kù) 在企業(yè)管理器中右擊要?jiǎng)h除的數(shù)據(jù)庫(kù),在彈出的快捷菜單中選擇【刪除】命令,并進(jìn)行確認(rèn)即可。如圖3-26所示。,圖3-26 使用企業(yè)管理器刪除數(shù)據(jù)庫(kù),2.利用DROP DATABASE語(yǔ)句刪除數(shù)據(jù)庫(kù) DROP DATABASE
48、 數(shù)據(jù)庫(kù)文件名[,…n] 【例3-10】刪除stu數(shù)據(jù)庫(kù)在查詢分析器中運(yùn)行如下命令:DROP DATABASE stuGO運(yùn)行結(jié)果如圖3-27所示。,圖3-27 刪除stu數(shù)據(jù)庫(kù),但是,當(dāng)出現(xiàn)以下幾種情況時(shí),將無(wú)法刪除數(shù)據(jù)庫(kù):(1)當(dāng)數(shù)據(jù)庫(kù)正在使用時(shí)。(2)當(dāng)有用戶正在對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作時(shí)。(3)當(dāng)數(shù)據(jù)庫(kù)正在執(zhí)行數(shù)據(jù)復(fù)制時(shí)。,本章小結(jié) 本章主要介紹了數(shù)據(jù)庫(kù)的創(chuàng)建和管理知識(shí)。
49、 在本章中同學(xué)們學(xué)習(xí)了數(shù)據(jù)庫(kù)文件和數(shù)據(jù)庫(kù)組成的基礎(chǔ)知識(shí),并重點(diǎn)學(xué)習(xí)了數(shù)據(jù)庫(kù)的幾種創(chuàng)建和管理技術(shù)。本章應(yīng)重點(diǎn)掌握如何根據(jù)需要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù),并對(duì)其進(jìn)行有效的管理。,思考與練習(xí)一、選擇題1、每個(gè)數(shù)據(jù)庫(kù)有且只能有一個(gè)( )。A、次數(shù)據(jù)文件 B、主數(shù)據(jù)文件 C、日志文件 D、其他2、如果數(shù)據(jù)庫(kù)中的數(shù)據(jù)量非常大,除了存儲(chǔ)在主數(shù)據(jù)文件中,可以將一部分
50、數(shù)據(jù)存儲(chǔ)在( )。A、次數(shù)據(jù)文件 B、主數(shù)據(jù)文件 C、日志文件 D、其他3、下列哪種命令可以顯示數(shù)據(jù)庫(kù)信息( )A、sp_helpdb B、sp_renamedb C、DBCC SHRINKDATABASE D、DBCC SHRINKFILE 4、下列哪種命令可以用來壓縮數(shù)據(jù)庫(kù)容量( )A、sp_helpdb B、sp_renamedb
51、 C、DBCC SHRINKDATABASE D、DBCC SHRINKFILE,5、使用下列哪種語(yǔ)句可以創(chuàng)建數(shù)據(jù)庫(kù)( )。A、CREATE DATABASE B、CREATE TABLE C、ALTER DATABASE D、ALTER TABLE 6、使用下列哪種語(yǔ)句可以修改數(shù)據(jù)庫(kù)( )。A、CREATE DATABASE B、CREATE TABLE C、ALTER
52、 DATABASE D、ALTER TABLE 7、使用下列哪種語(yǔ)句可以刪除數(shù)據(jù)庫(kù)( )。A、DROP DATABASE B、CREATE TABLE C、ALTER DATABASE D、DROP TABLE 二、填空題1、從物理結(jié)構(gòu)層次上說,SQL SERVER2000 數(shù)據(jù)庫(kù)是由兩個(gè)或多個(gè)文件組成,根據(jù)文件的作用,可以將這些文件分三類:
53、___________、和_____________。2、一般情況下,一個(gè)數(shù)據(jù)庫(kù)至少由____個(gè)主數(shù)據(jù)文件和_____個(gè)事務(wù)日志文件組成。,3、默認(rèn)狀態(tài)下,數(shù)據(jù)庫(kù)文件存放在________目錄下,主數(shù)據(jù)文件名為_____________,日志文件名為_________________。4、SQL Server的每一個(gè)數(shù)據(jù)庫(kù)都由________、________、________、________、________、________、
54、________、________、________、________等數(shù)據(jù)庫(kù)對(duì)象組成。 5、在SQL SERVER 2000中,創(chuàng)建數(shù)據(jù)庫(kù)有多種方法。歸納起來,一共有三種方法:________、___________和____________ 。6、在完成SQL Server安裝后,系統(tǒng)即會(huì)自動(dòng)創(chuàng)建6個(gè)數(shù)據(jù)庫(kù)。它們分別是________、________、________、________這4個(gè)系統(tǒng)數(shù)據(jù)庫(kù)和________、___
55、_____這2個(gè)示例數(shù)據(jù)庫(kù)。其中,________是最重要的系統(tǒng)數(shù)據(jù)庫(kù)。 三、簡(jiǎn)答題1、簡(jiǎn)述數(shù)據(jù)庫(kù)文件的分類及特點(diǎn)。2、簡(jiǎn)述系統(tǒng)數(shù)據(jù)庫(kù)的作用。,項(xiàng)目實(shí)訓(xùn) 1、創(chuàng)建貨物數(shù)據(jù)庫(kù),要求:主數(shù)據(jù)文件名為goods_data.MDF,存放在C:\目錄下,初始值 大小為2MB,增長(zhǎng)方式為按照10%的比例增長(zhǎng);次數(shù)據(jù)文件名為goods_data1.NDF和goods_data2.NDF,都存放在D:\目錄下,初始大小為1MB,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 第3章 數(shù)據(jù)庫(kù)的創(chuàng)建與管理
- a第3章 創(chuàng)建和管理數(shù)據(jù)庫(kù)
- 第6章 數(shù)據(jù)庫(kù)的創(chuàng)建與管理
- 第3章創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)文件
- 第3章 數(shù)據(jù)庫(kù)和表的創(chuàng)建
- 第5章數(shù)據(jù)庫(kù)的創(chuàng)建和管理
- sql_第05章_數(shù)據(jù)庫(kù)的創(chuàng)建與管理
- sql server第2章 數(shù)據(jù)庫(kù)的創(chuàng)建與管理
- 第03章數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù)
- sql第2章創(chuàng)建管理數(shù)據(jù)庫(kù)
- 3創(chuàng)建數(shù)據(jù)庫(kù)
- 第二章數(shù)據(jù)庫(kù)的創(chuàng)建與管理
- 第4章 數(shù)據(jù)庫(kù)與表的創(chuàng)建和操作2
- 第7章數(shù)據(jù)庫(kù)
- 3 數(shù)據(jù)庫(kù)第2章第5題解答
- 實(shí)訓(xùn)一 數(shù)據(jù)庫(kù)創(chuàng)建與管理
- 4 數(shù)據(jù)庫(kù)第3章第3、4、5題解答
- 數(shù)據(jù)庫(kù)第12章 數(shù)據(jù)庫(kù)技術(shù)新進(jìn)展
- 高級(jí)數(shù)據(jù)庫(kù)技術(shù)-第7章_移動(dòng)數(shù)據(jù)庫(kù)
- 第三章 數(shù)據(jù)庫(kù)的創(chuàng)建與維護(hù)
評(píng)論
0/150
提交評(píng)論