版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
任務二為數(shù)據(jù)管理創(chuàng)建數(shù)據(jù)庫環(huán)境
—創(chuàng)建和管理SQLServer數(shù)據(jù)庫任務:在SSMS中創(chuàng)建數(shù)據(jù)庫JXGL,并對JXGL進行簡單管理;使用CREATEDATABASE語句創(chuàng)建數(shù)據(jù)庫JXGL,使用T-SQL語句對JXGL進行簡單管理。2.1認識SQLServer數(shù)據(jù)庫2.2創(chuàng)建SQLServer數(shù)據(jù)庫2.3管理SQLServer數(shù)據(jù)庫2.4知識進階
項目實訓學習目標了解SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)建立事務日志的概念使用SSMS創(chuàng)建數(shù)據(jù)庫使用CREATEDATABASE語句創(chuàng)建數(shù)據(jù)庫使用SSMS管理數(shù)據(jù)庫使用T-SQL語言管理數(shù)據(jù)庫2.1認識SQLServer數(shù)據(jù)庫任務:了解SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu),建立事務日志的概念。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.1.1SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)2.1.2事務日志2.1.1SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)分為邏輯存儲結(jié)構(gòu)和物理存儲結(jié)構(gòu)。邏輯存儲結(jié)構(gòu)指的是數(shù)據(jù)庫是由各種數(shù)據(jù)庫對象組成的;物理存儲結(jié)構(gòu)是討論數(shù)據(jù)庫文件如何在磁盤上存儲的。事務日志是SQLServer數(shù)據(jù)庫的一個亮點,它對數(shù)據(jù)庫恢復起著至關(guān)重要的作用。從邏輯存儲結(jié)構(gòu)角度看,SQLServer數(shù)據(jù)庫是由表、視圖、索引、存儲過程等各種數(shù)據(jù)庫對象組成的,它們被數(shù)據(jù)庫管理系統(tǒng)管理。從物理存儲結(jié)構(gòu)角度看,數(shù)據(jù)庫實際上是一個文件的集合,在磁盤上以文件為單位存儲。數(shù)據(jù)庫的物理存儲結(jié)構(gòu)是用來討論數(shù)據(jù)庫文件如何在磁盤上存儲的。創(chuàng)建和管理SQLServer數(shù)據(jù)庫數(shù)據(jù)的邏輯結(jié)構(gòu)和物理結(jié)構(gòu)
物理存儲結(jié)構(gòu)(數(shù)據(jù)頁)數(shù)據(jù)區(qū)學號姓名性別出生日期民族J07051129王浩男1988-9-23漢族J08010212杜薇女1990-3-16回族…槽2槽1槽0頁頭(96字節(jié))行偏移數(shù)組…邏輯存儲結(jié)構(gòu)(數(shù)據(jù)表)2.1.1SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)創(chuàng)建和管理SQLServer數(shù)據(jù)庫1.數(shù)據(jù)庫的物理文件數(shù)據(jù)庫是存儲數(shù)據(jù)的容器,數(shù)據(jù)以文件形式存儲在磁盤上,稱為數(shù)據(jù)庫的物理文件或操作系統(tǒng)文件。每個SQLServer2005數(shù)據(jù)庫包含兩類物理文件:數(shù)據(jù)文件和日志文件。數(shù)據(jù)文件存儲數(shù)據(jù)和數(shù)據(jù)庫對象。第一個數(shù)據(jù)文件稱為主數(shù)據(jù)文件,文件名后綴為.mdf(PrimaryDataFile);日志文件用來存儲恢復數(shù)據(jù)庫中所有事務所需的信息,文件名后綴為.ldf(LogDataFile)。每個SQLServer數(shù)據(jù)庫至少包含一個主數(shù)據(jù)文件和一個日志文件。當數(shù)據(jù)庫存儲的數(shù)據(jù)量巨大,或需要將重要數(shù)據(jù)與次要數(shù)據(jù)分開存儲時,用戶可自行創(chuàng)建次數(shù)據(jù)文件,輔助主數(shù)據(jù)文件存儲數(shù)據(jù),文件名后綴為.ndf(SecondaryDataFile)。一個SQLServer2005數(shù)據(jù)庫只包含一個主數(shù)據(jù)文件,必須至少包含一個日志文件,可以不包含或包含多個次數(shù)據(jù)文件。
2.1.1SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.數(shù)據(jù)庫文件的名稱每個SQLServer2005數(shù)據(jù)庫文件有兩個文件名:邏輯文件名和操作系統(tǒng)文件名。(1)邏輯文件名。在T-SQL語句中引用數(shù)據(jù)庫文件時使用的名稱。其命名必須符合SQLServer標識符規(guī)則,且在同一數(shù)據(jù)庫中必須唯一。(2)操作系統(tǒng)文件名。包含存儲目錄路徑的數(shù)據(jù)庫文件名稱。其命名必須符合操作系統(tǒng)文件命名規(guī)則,且在同一數(shù)據(jù)庫中必須唯一。2.1.1SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)創(chuàng)建和管理SQLServer數(shù)據(jù)庫3.數(shù)據(jù)庫文件的存儲(1)數(shù)據(jù)頁
數(shù)據(jù)文件的基本存儲單位為8KB(8192B)的連續(xù)空間,稱為一個頁(Page)。SQLServer2005中包含數(shù)據(jù)頁、索引頁、文本/圖像頁等8種類型的頁。頁由以下三部分組成:
1)頁頭。頁首的96KB用來存儲頁的系統(tǒng)管理信息,如頁類型、頁的可用空間、頁碼及擁有該頁的數(shù)據(jù)庫對象的分配單元ID值等信息。
2)數(shù)據(jù)區(qū)。以槽(Slot)為單位的空間,用來存儲數(shù)據(jù)。數(shù)據(jù)記錄(行)就存儲在槽中,緊接著頁頭按順序放置。
3)行偏移數(shù)組。映射槽的相對位置,通過查詢行偏移數(shù)組中某個槽的偏移量,就可以準確定位槽在數(shù)據(jù)區(qū)的位置。
一個頁只能存儲一個數(shù)據(jù)庫對象,如表、索引。
2.1.1SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)創(chuàng)建和管理SQLServer數(shù)據(jù)庫(2)盤區(qū)SQLServer2005將8個物理上連續(xù)的頁作為一個單元為數(shù)據(jù)庫對象分配存儲空間,這個單元稱為盤區(qū)(Extent),容量為64KB。以盤區(qū)為分配單位,就不會因分配存儲空間的操作十分繁忙而影響數(shù)據(jù)庫性能,提高了空間分配效率。分配盤區(qū)的基本策略是:容量不滿8個頁的數(shù)據(jù)庫對象盡量從已經(jīng)存在的混合盤區(qū)中挑選一個進行后續(xù)分配;為容量滿8個頁的數(shù)據(jù)庫對象分配統(tǒng)一盤區(qū)。這樣大大提高了空間利用率。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.1.1SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)2.1.1SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)數(shù)據(jù)庫(表,索引)(數(shù)據(jù))數(shù)據(jù)(文件)
.mdf
或
.ndf日志(文件)
.ldf.頁(8KB,每行最大容量8060B)盤區(qū)(64KB,8個物理上連續(xù)的頁)數(shù)據(jù)庫的物理存儲結(jié)構(gòu)創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.1.1SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)4.數(shù)據(jù)文件組為便于分配數(shù)據(jù)和管理文件,可以將數(shù)據(jù)文件組織到不同的文件組中。SQLServer2005包含兩種類型的文件組:主文件組(Primary)和用戶定義文件組。主文件組包含主數(shù)據(jù)文件和未放入其他文件組的所有次數(shù)據(jù)文件。每個數(shù)據(jù)庫只有一個主文件組,也是數(shù)據(jù)庫的默認文件組,系統(tǒng)表的所有頁均分配在主文件組中。數(shù)據(jù)庫包含多個數(shù)據(jù)文件時,用戶也可以自定義文件組,將次文件放到自定義文件組中。提示:文件組是命名的文件集合,只包含數(shù)據(jù)文件,日志文件不包括在任何文件組內(nèi)。2.1.1SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.1.1SQLServer數(shù)據(jù)庫的存儲結(jié)構(gòu)事務(Transaction)是需要一次完成的操作集合。事務作為SQLServer的單個邏輯工作單元,必須徹底執(zhí)行完或根本不執(zhí)行。事務日志用來記錄所有事務和每個事務對數(shù)據(jù)庫所做的更新操作,以日志文件形式存儲在磁盤中。1.事務日志的作用(1)單獨恢復個別事務。(2)保證數(shù)據(jù)庫的完整。(3)將恢復的數(shù)據(jù)庫、文件、文件組或頁回滾到某一故障點。2.事務日志的特點(1)作為單獨的文件實現(xiàn),可以根據(jù)需要定義文件為自動增長。(2)日志文件與數(shù)據(jù)文件分開存放,減少了沖突。(3)事務日志可以單獨備份、恢復,不必遵守數(shù)據(jù)頁的存儲格式。(4)日志的截斷機制速度快,對事務的容量影響小。(5)記錄了數(shù)據(jù)頁的分配和釋放信息。2.1.2事務日志創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.2創(chuàng)建SQLServer數(shù)據(jù)庫任務:創(chuàng)建JXGL數(shù)據(jù)庫。創(chuàng)建數(shù)據(jù)庫前,必須首先明確數(shù)據(jù)庫名稱、數(shù)據(jù)庫所有者、初始容量、最大容量、數(shù)據(jù)庫文件的存儲路徑及增長方式等。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.2.1使用SSMS創(chuàng)建數(shù)據(jù)庫2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫【例2-1】創(chuàng)建未指定文件的數(shù)據(jù)庫shili01。代碼如下:IFDB_ID('shili01')ISNOTNULL--判斷當前服務中是否已有名稱為shili01的數(shù)據(jù)庫DROPDATABASEshili01GO--若已有名稱為shili01的數(shù)據(jù)庫,則刪除它CREATEDATABASEshili01GO
分析:本示例沒有<filespec>語句項。主數(shù)據(jù)庫文件的大小為model數(shù)據(jù)庫主文件的大小1MB,事務日志文件為下列值中較大者:512KB或主數(shù)據(jù)文件大小的25%。因為沒有指定MAXSIZE,文件可以增大到填滿全部可用的磁盤空間為止。2.2.1使用SSMS創(chuàng)建數(shù)據(jù)庫創(chuàng)建和管理SQLServer數(shù)據(jù)庫創(chuàng)建用戶數(shù)據(jù)庫的過程就是為數(shù)據(jù)庫確定名稱、大小和數(shù)據(jù)庫文件名稱及存放位置的過程。新建數(shù)據(jù)庫的信息存放在系統(tǒng)數(shù)據(jù)庫master中,屬于系統(tǒng)級信息。創(chuàng)建SQLServer數(shù)據(jù)庫主要有兩種方法:使用視圖化管理工具SQLServerManagementStudio(SSMS)和在代碼編輯器中使用T-SQL語言中的CREATEDATABASE語句。創(chuàng)建示例數(shù)據(jù)庫JXGL的操作步驟:2.2.1使用SSMS創(chuàng)建數(shù)據(jù)庫創(chuàng)建和管理SQLServer數(shù)據(jù)庫1.CREATEDATABASE的基本語法使用CREATEDATABASE語句創(chuàng)建數(shù)據(jù)庫?;菊Z法如下:CREATEDATABASEdatabase_name[ON[PRIMARY][<filespec>[,…n]][,<filegroup>][,…n]][LOGON[<filespec>[,…n]]]其中:<filespec>::=(NAME=logical_file_name[,FILENAME='os_file_name'][,SIZE=size[MB]][,MAXSIZE=max_size[MB]][,FILEGROWTH=growth_increment[MB|%]])[,…n]其中:<filegroup>::=FILEGROUPfilegroup_name[DEFAULT]2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫創(chuàng)建和管理SQLServer數(shù)據(jù)庫【例2-1】創(chuàng)建未指定文件的數(shù)據(jù)庫shili01。代碼如下:IFDB_ID('shili01')ISNOTNULL
--判斷當前服務中是否已有名稱為shili01的數(shù)據(jù)庫DROPDATABASEshili01GO--若已有名稱為shili01的數(shù)據(jù)庫,則刪除它CREATEDATABASEshili01GO
分析:本示例沒有<filespec>語句項。主數(shù)據(jù)庫文件的大小為model數(shù)據(jù)庫主文件的大小1MB,事務日志文件為下列值中較大者:512KB或主數(shù)據(jù)文件大小的25%。因為沒有指定MAXSIZE,文件可以增大到填滿全部可用的磁盤空間為止。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫【例2-2】創(chuàng)建指定數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫shili02。代碼如下:CREATEDATABASEshili02ON(NAME=shili02_data,FILENAME='D:\shili\shili02_data.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME=shili02_log,FILENAME='D:\shili\shili02_log.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)GO
分析:本示例沒有使用關(guān)鍵字PRIMARY,第一個文件shili02_data將成為主文件。在shili02_data.mdf文件的SIZE參數(shù)中沒有指定單位,將使用MB并按MB分配空間。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫【例2-3】創(chuàng)建指定多個數(shù)據(jù)和事務日志文件的數(shù)據(jù)庫shili03。代碼:CREATEDATABASEshili03ONPRIMARY(NAME=shili03_data,FILENAME='D:\shili\shili03_data.mdf',SIZE=2,MAXSIZE=200,FILEGROWTH=2),(NAME=shili03_data302,FILENAME='D:\shili\shili03_data302.ndf',SIZE=5,MAXSIZE=500,FILEGROWTH=5%)2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫創(chuàng)建和管理SQLServer數(shù)據(jù)庫LOGON(NAME=shili03_log301,FILENAME='D:\shili\shili03_log301.ldf',SIZE=10,MAXSIZE=200,FILEGROWTH=10%),(NAME=shili03_log302,FILENAME='D:\shili\shili03_log302.ldf',SIZE=5,MAXSIZE=1024,FILEGROWTH=2)GO
分析:本示例要創(chuàng)建的數(shù)據(jù)庫shili03具有兩個數(shù)據(jù)文件和兩個日志文件。主數(shù)據(jù)文件使用PRIMARY關(guān)鍵字顯式指定,日志文件在LOGON關(guān)鍵字后指定。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫【例2-4】創(chuàng)建具有文件組的數(shù)據(jù)庫shili04。代碼如下:CREATEDATABASEshili04ONPRIMARY(NAME=shili04_data,FILENAME='d:\shili\shili04_data.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=15%),(NAME=shili04_data402,FILENAME='d:\shili\shili04_data402.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=15%),創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫FILEGROUPshiligroup1(NAME=shili04_data403,FILENAME='d:\shili\shili04_data403.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=5),(NAME=shili04_data404,FILENAME='d:\shili\shili04_data404.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫創(chuàng)建和管理SQLServer數(shù)據(jù)庫LOGON(NAME=shili04_log,FILENAME='d:\shili\shili04_log.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)GO
分析:本示例創(chuàng)建的數(shù)據(jù)庫shili04包含以下兩個文件組:①包含文件shili04_data和shili04_data402的主文件組PRIMARY;②名為shiligroup1的文件組,包含數(shù)據(jù)文件shili04_data403和shili04_data404。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫4.創(chuàng)建“高職院校教學管理系統(tǒng)”數(shù)據(jù)庫JXGL【例2-5】創(chuàng)建本教材實例數(shù)據(jù)庫JXGL。該數(shù)據(jù)庫具有兩個文件組:①包含主數(shù)據(jù)文件JXGL_data的主文件組,文件初始容量為4MB,遞增率為5MB,最大容量為500MB;②filegroup1文件組,包含數(shù)據(jù)文件JXGL_data02,文件初始容量為2MB,遞增率為10%,最大容量為500MB。包含兩個日志文件JXGL_log和JXGL_log02,文件初始容量為5MB,遞增率為5%和5MB,最大容量為1GB和500MB。代碼如下:創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫CREATEDATABASEJXGLONPRIMARY(NAME=JXGL_data,FILENAME='D:\JXGL\JXGL_data.mdf',SIZE=4,MAXSIZE=500,FILEGROWTH=5),FILEGROUPfilegroup1(NAME=JXGL_data02,FILENAME='D:\JXGL\JXGL_data02.ndf',SIZE=2,MAXSIZE=500,FILEGROWTH=10%)2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫創(chuàng)建和管理SQLServer數(shù)據(jù)庫LOGON(NAME=JXGL_log,FILENAME='D:\JXGL\JXGL_log.ldf',SIZE=5,MAXSIZE=1024,FILEGROWTH=5%),(NAME=JXGL_log02,FILENAME='D:\JXGL\JXGL_log02.ldf',SIZE=5,MAXSIZE=500,FILEGROWTH=5)GO創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫創(chuàng)建用戶數(shù)據(jù)庫時要注意以下幾點:(1)默認情況下,只有系統(tǒng)管理員可以創(chuàng)建數(shù)據(jù)庫。(2)當新的用戶數(shù)據(jù)庫創(chuàng)建后,master數(shù)據(jù)庫的系統(tǒng)表sysdatabases立即被更新,因此創(chuàng)建數(shù)據(jù)庫后應及時備份master數(shù)據(jù)庫。(3)所有用戶數(shù)據(jù)庫都是model數(shù)據(jù)庫的副本,數(shù)據(jù)庫的系統(tǒng)表包含在主文件中。model數(shù)據(jù)庫的數(shù)據(jù)文件為1MB,日志文件也是1MB。這意味著用戶數(shù)據(jù)庫的最小容量為2MB。(4)在一個數(shù)據(jù)庫實例上,最多可創(chuàng)建32767個數(shù)據(jù)庫。一個數(shù)據(jù)庫最多可包含32767個數(shù)據(jù)文件和32767個日志文件。(5)創(chuàng)建完成新數(shù)據(jù)庫后,想在“對象資源管理器”的數(shù)據(jù)庫列表中看到剛創(chuàng)建的數(shù)據(jù)庫,需要刷新“數(shù)據(jù)庫”節(jié)點。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.2.2使用T-SQL創(chuàng)建數(shù)據(jù)庫
2.3管理SQLServer數(shù)據(jù)庫任務:使用SSMS及T-SQL語言兩種方法對數(shù)據(jù)庫JXGL進行簡單管理。
創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.3.1使用SSMS管理數(shù)據(jù)庫2.3.2使用T-SQL管理數(shù)據(jù)庫1.查看數(shù)據(jù)庫屬性2.修改數(shù)據(jù)庫3.刪除數(shù)據(jù)庫提示:①對數(shù)據(jù)庫執(zhí)行刪除命令,不但數(shù)據(jù)庫將被刪除,數(shù)據(jù)庫文件也將從磁盤中被刪除。②刪除數(shù)據(jù)庫將更新master數(shù)據(jù)庫中的系統(tǒng)表。若master需要還原,則從上次備份master之后刪除的所有數(shù)據(jù)庫仍然在系統(tǒng)表中被引用,因而可能導致出錯。4.數(shù)據(jù)庫更名數(shù)據(jù)庫被創(chuàng)建后一般不要更改名稱,否則所有與該數(shù)據(jù)庫的連接都將出錯。5.生成創(chuàng)建數(shù)據(jù)庫腳本2.3.1使用SSMS管理數(shù)據(jù)庫創(chuàng)建和管理SQLServer數(shù)據(jù)庫1.查看數(shù)據(jù)庫屬性使用系統(tǒng)存儲過程sp_helpdb查看指定數(shù)據(jù)庫或當前所有數(shù)據(jù)庫信息?;菊Z法如下:sp_helpdb[database_name]database_name缺省時,查看當前所有數(shù)據(jù)庫信息?!纠?-6】查看數(shù)據(jù)庫實例下所有數(shù)據(jù)庫信息,查看JXGL數(shù)據(jù)庫信息。代碼如下:(1)sp_helpdb--查看數(shù)據(jù)庫實例下所有數(shù)據(jù)庫信息(2)sp_helpdbJXGL--查看JXGL數(shù)據(jù)庫信息運行結(jié)果見圖2-9,2-10
2.3.2使用T-SQL管理數(shù)據(jù)庫創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.修改數(shù)據(jù)庫通過ALTERDATABASE語句可以添加、刪除數(shù)據(jù)庫文件、文件組;可以更改文件或文件組的屬性,如名稱、容量等;還可以更改數(shù)據(jù)庫名稱;但不能移動數(shù)據(jù)庫的存儲位置?;菊Z法如下:ALTERDATABASE<database_name>ADDFILE<datafile>|ADDFILE<logfile>|REMOVEFILE<logicfile_name>|ADDFILEGROUP<filegroupname>|REMOVEFILE<filegroupname>|MODIFYFILE<file_name>|MODIFYNAME<newdatabase_name>|MODIFYFILEGROUP<filegroup_name>|SET<option>創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.3.2使用T-SQL管理數(shù)據(jù)庫【例2-7】使用ALTERDATABASE語句對數(shù)據(jù)庫JXGL進行以下修改。添加一個次數(shù)據(jù)文件JXGL_data03,初始大小為5MB,最大容量為200MB,增長率為2%。代碼如下:USEJXGLGOALTERDATABASEJXGLADDFILE(NAME=JXGL_data03,FILENAME='D:\JXGL\JXGL_data03.ndf',SIZE=5,MAXSIZE=200,FILEGROWTH=2%)GO創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.3.2使用T-SQL管理數(shù)據(jù)庫【例2-8】使用ALTERDATABASE語句對數(shù)據(jù)庫JXGL進行以下修改:將日志文件JXGL_log02的初始容量由5MB改為10MB,刪除數(shù)據(jù)文件JXGL_data03。代碼如下:USEJXGLGOALTERDATABASEJXGLMODIFYFILE(NAME=JXGL_log02,SIZE=10MB)GOALTERDATABASEJXGLREMOVEFILEJXGL_data03GO創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.3.2使用T-SQL管理數(shù)據(jù)庫3.移動數(shù)據(jù)庫位置通過ALTERDATABASE語句的FILENAME子句指定數(shù)據(jù)庫文件的新位置,可以移動系統(tǒng)數(shù)據(jù)庫文件和用戶數(shù)據(jù)庫文件?!纠?-9】使用ALTERDATABASE語句將數(shù)據(jù)庫shili02移動到D:\shiliyidong。(1)移動數(shù)據(jù)文件位置,代碼如下:ALTERDATABASEshili02MODIFYFILE(NAME=shili02_data,FILENAME='D:\shiliyidong\shili_data02.mdf')GOALTERDATABASEshili02MODIFYFILE(NAME=shili02_log,FILENAME='D:\shiliyidong\shili_log02.ldf')GO創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.3.2使用T-SQL管理數(shù)據(jù)庫
提示:移動數(shù)據(jù)庫文件,需要知道數(shù)據(jù)庫文件的邏輯名??梢酝ㄟ^查詢sys.master_files目錄視圖中的name列獲取。不能移動或重命名資源數(shù)據(jù)庫文件,若該文件已重命名或移動,SQLServer將不啟動。(2)驗證數(shù)據(jù)文件位置已更改,代碼如下:SELECTname,physical_nameFROMsys.master_filesWHEREdatabase_id=DB_id('shili02')GO創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.3.2使用T-SQL管理數(shù)據(jù)庫4.刪除數(shù)據(jù)庫使用DROPDATABASE語句刪除數(shù)據(jù)庫?;菊Z法如下:DROPDATABASE<database_name>【例2-10】刪除不再需要的數(shù)據(jù)庫shili01。代碼如下:DROPDATABASEshili01執(zhí)行代碼后,刷新“數(shù)據(jù)庫”節(jié)點,觀察發(fā)現(xiàn),數(shù)據(jù)庫shili01已不在數(shù)據(jù)庫列表中。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.3.2使用T-SQL管理數(shù)據(jù)庫5.數(shù)據(jù)庫更名使用系統(tǒng)存儲過程sp_renamedb可以對數(shù)據(jù)庫進行重命名?;菊Z法如下:sp_renamedb<old_database_name>,<new_database_name>如將數(shù)據(jù)庫shili04改名為shili。代碼如下:sp_renamedbshili04,shili創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.3.2使用T-SQL管理數(shù)據(jù)庫2.4知識進階任務:對數(shù)據(jù)庫容量進行理論估算,對數(shù)據(jù)庫實施收縮,節(jié)省存儲空間。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.4.1數(shù)據(jù)庫空間的估算2.4.2增加和收縮數(shù)據(jù)庫容量許多因素影響數(shù)據(jù)庫的最終容量:記錄的大小。列的大小決定了記錄的大小。記錄的數(shù)量。一般情況下,應該按數(shù)據(jù)表所代表的實體或關(guān)系的實際數(shù)據(jù)量估算該表要存儲的記錄數(shù),而不是憑空想象。表的數(shù)量。按關(guān)系模型特點和數(shù)據(jù)庫設計規(guī)范化原則確定。索引的大小。索引的大小取決于索引關(guān)鍵列的大小、索引中包含的數(shù)據(jù)量(記錄數(shù))和索引填充因子。填充因子的值越小,索引頁上的空閑空間越大。索引的數(shù)量。每個表中都至少包含一個索引。事務日志的大小。修改數(shù)據(jù)頻率越高,存放日志需要更多空間其他數(shù)據(jù)庫對象的大小和數(shù)量。除數(shù)據(jù)表外,數(shù)據(jù)庫還包含如索引、視圖、存儲過程等數(shù)據(jù)庫對象。數(shù)據(jù)庫的計劃增長率。預先對數(shù)據(jù)庫存儲需求估算得高些。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.4.1數(shù)據(jù)庫空間的估算SQLServer采用預先指定、分配存儲空間的方法來創(chuàng)建數(shù)據(jù)庫。當數(shù)據(jù)庫的數(shù)據(jù)增長到要超過定義的使用空間時,必須加大數(shù)據(jù)庫容量,增加數(shù)據(jù)庫容量即為數(shù)據(jù)庫提供額外的存儲空間。反之,當分配的空間沒有被充分利用時,會造成空間浪費。收縮數(shù)據(jù)庫功能允許對數(shù)據(jù)庫中的每個文件進行收縮,刪除已經(jīng)分配但沒有使用的頁。不能將整個數(shù)據(jù)庫收縮到比其初始容量還小。收縮數(shù)據(jù)庫的動作在后臺執(zhí)行,不影響數(shù)據(jù)庫內(nèi)的用戶活動,但不能在備份數(shù)據(jù)庫時收縮數(shù)據(jù)庫,也不在收縮數(shù)據(jù)庫時創(chuàng)建或備份數(shù)據(jù)庫。創(chuàng)建和管理SQLServer數(shù)據(jù)庫2.4.2增加和收縮數(shù)據(jù)庫容量1.使用T-SQL語言手工收縮數(shù)據(jù)庫語法如下:DBCCSHRINKDATABASE|SHRINKFILE(d
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 初中小說知識點課件
- 2025 四年級科學上冊昆蟲觸角類型識別課件
- 顱內(nèi)感染的家庭護理
- 2026 年初中英語《復合句》專項練習與答案 (100 題)
- 《GAT 528-2021公安衛(wèi)星通信網(wǎng)衛(wèi)星地球站技術(shù)規(guī)范》專題研究報告
- 安全生產(chǎn)舉報保密制度講解
- 職業(yè)規(guī)劃精要版
- 醫(yī)學營養(yǎng)專業(yè)就業(yè)前景
- 數(shù)據(jù)庫性能優(yōu)化流程及技巧
- 刑事圖像技術(shù)課程
- 環(huán)境污染治理設施運營考試試題
- 2025年證監(jiān)會招聘面試高頻考題及解析
- GB/T 2423.21-2025環(huán)境試驗第2部分:試驗方法試驗M:低氣壓
- 2025-2030中國溶劑染料行業(yè)消費狀況及競爭策略分析報告
- 急診科腦出血課件
- 2024~2025學年四川省成都市武侯區(qū)九年級上學期期末語文試卷
- 安全生產(chǎn)管理機構(gòu)人員配備表
- 吸氧并發(fā)癥及護理措施
- smt車間安全操作規(guī)程
- 2.3.2中國第一大河長江
- TCEPPC 25-2024 儲能鋰離子電池熱失控預警及防護技術(shù)要求
評論
0/150
提交評論