版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建文件組管理數(shù)據(jù)庫數(shù)據(jù)結構介紹第3章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫存儲結構數(shù)據(jù)庫的存儲結構邏輯存儲結構——數(shù)據(jù)庫是由哪些性質的信息所組成。實際上,SQLServer的數(shù)據(jù)庫是由諸如表、視圖、索引等各種不同的數(shù)據(jù)庫對象所組成。物理存儲結構——討論數(shù)據(jù)庫文件是如何在磁盤上存儲的,數(shù)據(jù)庫在磁盤上是以文件為單位存儲的,由數(shù)據(jù)庫文件和事務日志文件組成,一個數(shù)據(jù)庫至少應該包含一個數(shù)據(jù)庫文件和一個事務日志文件。數(shù)據(jù)庫存儲結構數(shù)據(jù)庫的存儲結構數(shù)據(jù)庫文件主數(shù)據(jù)庫文件一個數(shù)據(jù)庫可以有一個或多個數(shù)據(jù)庫文件,一個數(shù)據(jù)庫文件只能屬于一個數(shù)據(jù)庫。當有多個數(shù)據(jù)庫文件時,有一個文件被定義為主數(shù)據(jù)庫文件(簡稱為主文件),其擴展名為mdf。主數(shù)據(jù)庫文件用來存儲數(shù)據(jù)庫的啟動信息以及部分或者全部數(shù)據(jù),是所有數(shù)據(jù)庫文件的起點,包含指向其它數(shù)據(jù)庫文件的指針。一個數(shù)據(jù)庫只能有一個主數(shù)據(jù)庫文件。數(shù)據(jù)庫文件主數(shù)據(jù)庫文件數(shù)據(jù)庫文件輔助數(shù)據(jù)庫文件一個用于存儲主數(shù)據(jù)庫文件中未存儲的剩余數(shù)據(jù)和數(shù)據(jù)庫對象,一個數(shù)據(jù)庫可以沒有輔助數(shù)據(jù)庫文件,但也可以同時擁有多個輔助數(shù)據(jù)庫文件。
輔助數(shù)據(jù)庫文件的擴展名為ndf(簡稱為輔助文件)。
數(shù)據(jù)庫文件輔助數(shù)據(jù)庫文件數(shù)據(jù)庫文件事務日志文件一個存儲數(shù)據(jù)庫的更新情況等事務日志信息,當數(shù)據(jù)庫損壞時,管理員使用事務日志恢復數(shù)據(jù)庫。每一個數(shù)據(jù)庫至少必須擁有一個事務日志文件,而且允許擁有多個日志文件。事務日志文件的擴展名為ldf,日志文件的大小至少是512KB。SQLServer事務日志采用提前寫入的方式。數(shù)據(jù)庫文件事務日志文件創(chuàng)建數(shù)據(jù)庫1.使用向導創(chuàng)建數(shù)據(jù)庫2.使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫3.使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫1.使用向導創(chuàng)建數(shù)據(jù)庫使用T-SQL語言創(chuàng)建數(shù)據(jù)庫CREATEDATABASESample
ON
PRIMARY(NAME=SampleData,
FILENAME='c:\ProgramFiles\..\..\Data\Sample.mdf',
SIZE=10MB,MAXSIZE=15MB,FILEGROWTH=20%)
LOGON
(NAME=SampleLog,
FILENAME='c:\ProgramFiles\..\..\Data\Sample.ldf',
SIZE=3MB,MAXSIZE=5MB,FILEGROWTH=1MB)
主數(shù)據(jù)庫文件事務日志文件邏輯文件名物理文件名文件增長量建立數(shù)據(jù)庫的定義:數(shù)據(jù)庫的名稱數(shù)據(jù)庫的大小數(shù)據(jù)庫將駐留在哪一個文件中使用T-SQL語言創(chuàng)建數(shù)據(jù)庫CREATEDATABASETransact-SQL語言的命令格式說明:用[]括起來的內容表示是可選的;[,…n]表示重復前面的內容;用<>括起來表示在實際編寫語句時,用相應的內容替代;用{}括起來表示是必選的;類似A|B的格式,表示A和B只能選擇一個,不能同時都選。使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫Transact-SQL語言的命令格式說明:使用TransaCREATEDATABASEdatabase_name[ON{[PRIMARY](NAME=logical_file_name, FILENAME=‘os_file_name’ [,SIZE=size] [,MAXSIZE={max_size|UNLIMITED}] [,FILEGROWTH=growth_increment])}[,…n]][LOGON{(NAME=logical_file_name, FILENAME=‘os_file_name’ [,SIZE=size] [,MAXSIZE={max_size|UNLIMITED}] [,FILEGROWTH=growth_increment])}[,…n]]使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫CREATEDATABASEdatabase_name使database_name:數(shù)據(jù)庫的名稱。數(shù)據(jù)庫名稱在服務器中必須唯一,最長為128個字符,并且要符合標識符的命名規(guī)則。每個服務器管理的數(shù)據(jù)庫最多為32767個。PRIMARY:用于指定主文件組中的文件。如果不指定PRIMARY關鍵字,則在命令中列出的第一個文件將被默認為主文件。SIZE:指定數(shù)據(jù)庫的初始容量大小。如果沒有指定主文件的大小,則SQLServer默認其與模板數(shù)據(jù)庫中的主文件大小一致,其它數(shù)據(jù)庫文件和事務日志文件則默認為1MB。指定大小的數(shù)字size可以使用KB、MB、GB和TB后綴,默認的后綴為MB。Size中不能使用小數(shù),其最小值為512KB,默認值為1MB。主文件的size不能小于模板數(shù)據(jù)庫中的主文件。使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫database_name:數(shù)據(jù)庫的名稱。數(shù)據(jù)庫名稱在服務器MAXSIZE:指定操作系統(tǒng)文件可以增長到的最大尺寸。如果沒有指定,則文件可以不斷增長直到充滿磁盤。FILEGROWTH:指定文件每次增加容量的大小,當指定數(shù)據(jù)為0時,表示文件不增長。增加量可以確定為以KB、MB作后綴的字節(jié)數(shù)或以%作后綴的被增加容量文件的百分比來表示。默認后綴為MB。如果沒有指定FILEGROWTH,則默認值為10%,每次擴容的最小值為64KB。使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫MAXSIZE:指定操作系統(tǒng)文件可以增長到的最大尺寸。如果沒創(chuàng)建數(shù)據(jù)庫(舉例)例3-2-1:使用CREATEDATABASE創(chuàng)建一個student數(shù)據(jù)庫,所有參數(shù)均取默認值。例3-2-2:創(chuàng)建一個Student1數(shù)據(jù)庫,該數(shù)據(jù)庫的主文件邏輯名稱為Student1_data,物理文件名為Student1.mdf,初始大小為10MB,最大尺寸為無限大,增長速度為10%;數(shù)據(jù)庫的日志文件邏輯名稱為Student1_log,物理文件名為Student1.ldf,初始大小為1MB,最大尺寸為5MB,增長速度為1MB。創(chuàng)建數(shù)據(jù)庫(舉例)例3-2-1:使用CREATEDATAB例3-2-3:創(chuàng)建一個指定多個數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫。該數(shù)據(jù)庫名稱為students,有1個10MB和1個20MB的數(shù)據(jù)文件和2個10MB的事務日志文件。數(shù)據(jù)文件邏輯名稱為student1和student2,物理文件名為student1.mdf和student2.mdf。主文件是student1,由primary指定,兩個數(shù)據(jù)文件的最大尺寸分別為無限大和100MB,增長速度分別為10%和1MB。事務日志文件的邏輯名為studentlog1和studentlog2,物理文件名為studentlog1.ldf和studentlog2.ldf,最大尺寸均為50MB,文件增長速度為1MB。創(chuàng)建數(shù)據(jù)庫(舉例)例3-2-3:創(chuàng)建一個指定多個數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫。該第2章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建文件組管理數(shù)據(jù)庫數(shù)據(jù)結構介紹第2章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建文件組文件組的概念文件組是SQLServer中一個或多個文件的命名集合,它構成分配或用于數(shù)據(jù)庫管理的單個單元文件組的使用場合當有多個磁盤,希望把文件分布在這些磁盤上以提高性能文件組的類型兩種文件組:主文件組和用戶定義文件組主文件組——包含主文件的文件組用戶定義的文件組——在首次創(chuàng)建或以后更改數(shù)據(jù)庫時,用戶明確創(chuàng)建的任何文件組創(chuàng)建文件組文件組的概念Northwind
數(shù)據(jù)庫默認文件組OrderHistory組sys...
sys...
sysusers
sysobjects
...
Orders
Customers
Products
OrdHistYear2
OrdHistYear1
Northwind.mdfC:\D:\OrdHist1.ndfOrdHist2.ndfNorthwind.IdfE:\創(chuàng)建文件組(續(xù))Northwind數(shù)據(jù)庫默認文件組OrderHistory創(chuàng)建文件組(續(xù))ALTERDATABASENorthwindADDFILEGROUPOrderHistoryGroupGOALTERDATABASENorthwindADDFILE(NAME=‘OrdHistYear1’,FILENAME=‘c:\HistoryDB\OrdHist1.ndf’,SIZE=5MB)TOFILEGROUPOrderHistoryGroupGO創(chuàng)建文件組(續(xù))第2章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建文件組管理數(shù)據(jù)庫數(shù)據(jù)結構介紹第2章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫管理數(shù)據(jù)庫查看數(shù)據(jù)庫信息修改數(shù)據(jù)庫收縮數(shù)據(jù)庫或文件刪除數(shù)據(jù)庫事務日志的工作過程管理數(shù)據(jù)庫查看數(shù)據(jù)庫信息檢索數(shù)據(jù)庫信息使用系統(tǒng)存儲過程來顯示數(shù)據(jù)庫以及數(shù)據(jù)庫參數(shù)的信息sp_helpdbsp_helpdb
數(shù)據(jù)庫名檢索數(shù)據(jù)庫信息使用系統(tǒng)存儲過程來顯示數(shù)據(jù)庫以及數(shù)據(jù)庫參數(shù)的信使用Transact-SQL語言修改數(shù)據(jù)庫
只有數(shù)據(jù)庫管理員或具有CREATEDATABASE權限的數(shù)據(jù)庫所有者才有權執(zhí)行該語句。ALTERDATABASE語句的語法格式如下:
修改數(shù)據(jù)庫
使用Transact-SQL語言修改數(shù)據(jù)庫修改數(shù)據(jù)庫Alterdatabasedatabasename{addfile<filespec>[,…n][tofilegroupfilegroupname]|addlogfile<filespec>[,…n]|removefilelogical_file_name|removefilegroupfilegroup_name
|modifyfile<filespec>|modifyname=new_databasename|addfilegroupfilegroup_name|modifyfilegroupfilegroup_name{filegroup_property|name=new_filegroup_name}}修改數(shù)據(jù)庫
Alterdatabasedatabasename修改數(shù)addfile<filespec>[,…n][tofilegroupfilegroupname]:表示向指定的文件組中添加新的數(shù)據(jù)文件。addlogfile<filespec>[,…n]:增加新的日志文件。removefilelogical_file_name:刪除指定的操作系統(tǒng)文件。removefilegroupfilegroup_name:刪除指定的文件組。modifyfile<filespec>:修改某個操作系統(tǒng)文件。modifyname=new_databasename:重命名數(shù)據(jù)庫。addfilegroupfilegroup_name:增加一個文件組。modifyfilegroupfilegroup_name:修改某個指定文件組的屬性。addfile<filespec>[,…n][tofi修改數(shù)據(jù)庫(舉例)
ALTERDATABASESample
MODIFYFILE(NAME='SampleLog',
SIZE=15MB)GOALTERDATABASESampleADDFILE
(NAME=SampleData2,
FILENAME='c:\ProgramFiles\..\..\
Data\Sample2.ndf',
SIZE=15MB,
MAXSIZE=20MB)GO修改數(shù)據(jù)庫(舉例)ALTERDATABASESampl管理數(shù)據(jù)文件和日志文件的增長ALTERDATABASESample
MODIFYFILE(NAME='SampleLog',
SIZE=15MB)GOALTERDATABASESampleADDFILE
(NAME=SampleData2,
FILENAME='c:\ProgramFiles\..\..\Data\Sample2.ndf',
SIZE=15MB,
MAXSIZE=20MB)GO使文件自動增長手動擴充數(shù)據(jù)庫文件添加次要數(shù)據(jù)庫文件管理數(shù)據(jù)文件和日志文件的增長ALTERDATABASES收縮數(shù)據(jù)庫或文件收縮整個數(shù)據(jù)庫企業(yè)管理器DBCCSHRINKDATABASE語句DBCCSHRINKDATABASE(數(shù)據(jù)庫名[,
目標百分比][,{NOTRUNCATE|TRUNCATEONLY}])收縮數(shù)據(jù)庫中的一個數(shù)據(jù)文件企業(yè)管理器DBCCSHRINKFILE語句
DBCCSHRINKFILE({文件名|文件id}[,
目標大小][,{EMPTYFILE|NOTRUNCATE|TRUNCATEONLY}])
自動收縮數(shù)據(jù)庫設置數(shù)據(jù)庫選項autoshrink
為true收縮數(shù)據(jù)庫或文件收縮整個數(shù)據(jù)庫收縮數(shù)據(jù)庫或文件(續(xù))收縮語句中的選項NOTRUNCATE——在數(shù)據(jù)庫文件中保留所釋放的文件空間。(默認情況)TRUNCATEONLY——文件中的所有未使用的空間釋放給操作系統(tǒng)。不嘗試將其重新分配到未分配頁。當使用TRUNCATEONLY時,參數(shù)
target_size和
target_percent
被忽略。EMPTYFILE——只適用于DBCCSHRINKFILE,將清空數(shù)據(jù)文件的內容并將數(shù)據(jù)移動到同一文件組中的其他文件。收縮數(shù)據(jù)庫或文件(續(xù))收縮語句中的選項收縮數(shù)據(jù)庫或文件(續(xù))有一個小型的酒店管理系統(tǒng),其營業(yè)數(shù)據(jù)為150MB,對其中的50%的數(shù)據(jù)進行備份并刪除后,要把數(shù)據(jù)庫立即縮小為初始的大?。?00MB)。下面哪條語句能夠實現(xiàn)該功能?
A.DBCCSHRINKFILE(JiuDianData,NOTRUNCATE)B.DBCCSHRINKDATABASE(JiuDianData,25)C.DBCCSHRINKDATABASE(JiuDianData,100)D.ALTERDATABASEJiuDianDataSETAUTO_SHRINKON√收縮數(shù)據(jù)庫或文件(續(xù))有一個小型的酒店管理系統(tǒng),其營業(yè)數(shù)據(jù)為刪除數(shù)據(jù)庫1.利用企業(yè)管理器刪除數(shù)據(jù)庫2.利用Drop語句刪除數(shù)據(jù)庫
Dropdatabasedatabase_name[,…n]
說明:只有處于正常狀態(tài)下的數(shù)據(jù)庫,才能使用DROP語句刪除。當數(shù)據(jù)庫處于以下狀態(tài)時不能被刪除:數(shù)據(jù)庫正在使用;數(shù)據(jù)庫正在恢復;數(shù)據(jù)庫包含用于復制的已經出版的對象。
DROPDATABASENorthwind,pubs刪除數(shù)據(jù)庫1.利用企業(yè)管理器刪除數(shù)據(jù)庫DROPDATAB事務日志的工作過程
應用程序發(fā)出數(shù)據(jù)修改請求1磁盤修改記錄在磁盤上的事務日志3在緩存中定位數(shù)據(jù)頁,
或者將數(shù)據(jù)頁讀入緩存,并修改2緩存磁盤檢查點將已提交的事務寫入數(shù)據(jù)庫中4事務日志的工作過程應用程序發(fā)出數(shù)據(jù)修改1磁盤修改記錄在磁盤第2章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建文件組管理數(shù)據(jù)庫數(shù)據(jù)結構介紹第2章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)結構介紹數(shù)據(jù)存儲方式頁和擴展盤區(qū)類型管理文件空間的頁跟蹤表和索引的頁數(shù)據(jù)結構介紹數(shù)據(jù)存儲方式數(shù)據(jù)庫數(shù)據(jù)存儲方式擴展盤區(qū)
(8個連續(xù)的8KB頁)頁(8KB)表,索引數(shù)據(jù)每行大小最多8
060字節(jié)數(shù)據(jù)(文件)
.mdf或.ndf日志(文件)
.Idf
數(shù)據(jù)庫數(shù)據(jù)存儲方式擴展盤區(qū)
(8個連續(xù)的頁(8KB)表頁和擴展盤區(qū)類型頁的類型(八種)頁可用空間(PFS)頁全局分配映射表(GAM)頁和輔助全局分配映射表(SGAM)頁索引分配映射表(IAM)頁大容量更改映射表頁差異更改映射表頁數(shù)據(jù)頁文本/圖像頁索引頁頁和擴展盤區(qū)類型頁的類型(八種)頁和擴展盤區(qū)類型(續(xù))統(tǒng)一擴展盤區(qū)空閑空間混合擴展盤區(qū)擴展盤區(qū)的類型混合擴展盤區(qū):包含2個或多個對象的頁的擴展盤區(qū)稱為“混合擴展盤區(qū)”。每張表起始于一個混合擴展盤區(qū)。主要為跟蹤空間的頁及包含小對象的頁使用混合擴展盤區(qū)統(tǒng)一擴展盤區(qū):將所有八頁分配給單個對象的擴展盤區(qū)稱為“統(tǒng)一擴展盤區(qū)”。在表或索引需要超過64KB空間時使用頁和擴展盤區(qū)類型(續(xù))統(tǒng)一擴展盤區(qū)空閑空間混合擴展盤區(qū)擴展盤管理文件空間的頁混合擴展盤區(qū)(文件第一個盤區(qū))SGAMGAM首頁PFS12345678管理文件空間的頁混合擴展盤區(qū)(文件第一個盤區(qū))SGAMGAM管理文件空間的頁每個文件的第一個擴展盤區(qū)是混合擴展盤區(qū),包含一個文件的頁首頁和緊接著的三個分配頁文件的頁首頁:包含該文件的特性信息PFS(頁可用空間)頁:包含有關文件中以頁為單位的可用空間的信息。每個PFS頁可以跟蹤8000個連續(xù)頁,將近64MB的數(shù)據(jù)。PFS頁對每一頁都有一個相應的字節(jié),跟蹤:該頁是否已分配該頁是在混合擴展盤區(qū)還是在統(tǒng)一擴展盤區(qū)該頁可用空間的近似數(shù)量管理文件空間的頁每個文件的第一個擴展盤區(qū)是混合擴展盤區(qū),包管理文件空間的頁(續(xù))GAM(全局分配映射表)和
SGAM(輔助全局分配映射表)頁SQL
Server使用GAM和SGAM頁來確定未使用的擴展盤區(qū)或有未使用頁的混合擴展盤區(qū)的位置GAM和SGAM配合使用,每對管理63904個擴展盤區(qū)GAM位設置
SGAM位設置
情況
10是個可用的擴展盤區(qū)。該擴展盤區(qū)未被使用01是個可用頁。該擴展盤區(qū)有一個或多個未使用頁00是個沒有可用頁的擴展盤區(qū)。該擴展盤區(qū)是統(tǒng)一擴展盤區(qū)或已滿的混合擴展盤區(qū)管理文件空間的頁(續(xù))GAM(全局分配映射表)和SGASQL
Server使用四種類型的頁來管理表和索引IAM頁:包含有關表或索引使用的擴展盤區(qū)信息的分配頁數(shù)據(jù)頁:包含除text、ntext和image數(shù)據(jù)之外的內容文本/圖像頁:包含text、ntext和image內容索引頁:包含索引結構
跟蹤表和索引的頁SQL
Server使用四種類型的頁來管理表和索引跟蹤表和跟蹤表和索引的頁(續(xù))混合擴展盤區(qū)統(tǒng)一擴展盤區(qū)數(shù)據(jù)第3~8頁IAM數(shù)據(jù)頁跟蹤表和索引的頁(續(xù))混合擴展盤區(qū)統(tǒng)一擴展盤區(qū)數(shù)據(jù)第3~8頁回顧學習完本章后,將能夠:創(chuàng)建數(shù)據(jù)庫創(chuàng)建文件組管理數(shù)據(jù)庫描述數(shù)據(jù)結構回顧學習完本章后,將能夠:第3章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建文件組管理數(shù)據(jù)庫數(shù)據(jù)結構介紹第3章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫數(shù)據(jù)庫存儲結構數(shù)據(jù)庫的存儲結構邏輯存儲結構——數(shù)據(jù)庫是由哪些性質的信息所組成。實際上,SQLServer的數(shù)據(jù)庫是由諸如表、視圖、索引等各種不同的數(shù)據(jù)庫對象所組成。物理存儲結構——討論數(shù)據(jù)庫文件是如何在磁盤上存儲的,數(shù)據(jù)庫在磁盤上是以文件為單位存儲的,由數(shù)據(jù)庫文件和事務日志文件組成,一個數(shù)據(jù)庫至少應該包含一個數(shù)據(jù)庫文件和一個事務日志文件。數(shù)據(jù)庫存儲結構數(shù)據(jù)庫的存儲結構數(shù)據(jù)庫文件主數(shù)據(jù)庫文件一個數(shù)據(jù)庫可以有一個或多個數(shù)據(jù)庫文件,一個數(shù)據(jù)庫文件只能屬于一個數(shù)據(jù)庫。當有多個數(shù)據(jù)庫文件時,有一個文件被定義為主數(shù)據(jù)庫文件(簡稱為主文件),其擴展名為mdf。主數(shù)據(jù)庫文件用來存儲數(shù)據(jù)庫的啟動信息以及部分或者全部數(shù)據(jù),是所有數(shù)據(jù)庫文件的起點,包含指向其它數(shù)據(jù)庫文件的指針。一個數(shù)據(jù)庫只能有一個主數(shù)據(jù)庫文件。數(shù)據(jù)庫文件主數(shù)據(jù)庫文件數(shù)據(jù)庫文件輔助數(shù)據(jù)庫文件一個用于存儲主數(shù)據(jù)庫文件中未存儲的剩余數(shù)據(jù)和數(shù)據(jù)庫對象,一個數(shù)據(jù)庫可以沒有輔助數(shù)據(jù)庫文件,但也可以同時擁有多個輔助數(shù)據(jù)庫文件。
輔助數(shù)據(jù)庫文件的擴展名為ndf(簡稱為輔助文件)。
數(shù)據(jù)庫文件輔助數(shù)據(jù)庫文件數(shù)據(jù)庫文件事務日志文件一個存儲數(shù)據(jù)庫的更新情況等事務日志信息,當數(shù)據(jù)庫損壞時,管理員使用事務日志恢復數(shù)據(jù)庫。每一個數(shù)據(jù)庫至少必須擁有一個事務日志文件,而且允許擁有多個日志文件。事務日志文件的擴展名為ldf,日志文件的大小至少是512KB。SQLServer事務日志采用提前寫入的方式。數(shù)據(jù)庫文件事務日志文件創(chuàng)建數(shù)據(jù)庫1.使用向導創(chuàng)建數(shù)據(jù)庫2.使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫3.使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫1.使用向導創(chuàng)建數(shù)據(jù)庫使用T-SQL語言創(chuàng)建數(shù)據(jù)庫CREATEDATABASESample
ON
PRIMARY(NAME=SampleData,
FILENAME='c:\ProgramFiles\..\..\Data\Sample.mdf',
SIZE=10MB,MAXSIZE=15MB,FILEGROWTH=20%)
LOGON
(NAME=SampleLog,
FILENAME='c:\ProgramFiles\..\..\Data\Sample.ldf',
SIZE=3MB,MAXSIZE=5MB,FILEGROWTH=1MB)
主數(shù)據(jù)庫文件事務日志文件邏輯文件名物理文件名文件增長量建立數(shù)據(jù)庫的定義:數(shù)據(jù)庫的名稱數(shù)據(jù)庫的大小數(shù)據(jù)庫將駐留在哪一個文件中使用T-SQL語言創(chuàng)建數(shù)據(jù)庫CREATEDATABASETransact-SQL語言的命令格式說明:用[]括起來的內容表示是可選的;[,…n]表示重復前面的內容;用<>括起來表示在實際編寫語句時,用相應的內容替代;用{}括起來表示是必選的;類似A|B的格式,表示A和B只能選擇一個,不能同時都選。使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫Transact-SQL語言的命令格式說明:使用TransaCREATEDATABASEdatabase_name[ON{[PRIMARY](NAME=logical_file_name, FILENAME=‘os_file_name’ [,SIZE=size] [,MAXSIZE={max_size|UNLIMITED}] [,FILEGROWTH=growth_increment])}[,…n]][LOGON{(NAME=logical_file_name, FILENAME=‘os_file_name’ [,SIZE=size] [,MAXSIZE={max_size|UNLIMITED}] [,FILEGROWTH=growth_increment])}[,…n]]使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫CREATEDATABASEdatabase_name使database_name:數(shù)據(jù)庫的名稱。數(shù)據(jù)庫名稱在服務器中必須唯一,最長為128個字符,并且要符合標識符的命名規(guī)則。每個服務器管理的數(shù)據(jù)庫最多為32767個。PRIMARY:用于指定主文件組中的文件。如果不指定PRIMARY關鍵字,則在命令中列出的第一個文件將被默認為主文件。SIZE:指定數(shù)據(jù)庫的初始容量大小。如果沒有指定主文件的大小,則SQLServer默認其與模板數(shù)據(jù)庫中的主文件大小一致,其它數(shù)據(jù)庫文件和事務日志文件則默認為1MB。指定大小的數(shù)字size可以使用KB、MB、GB和TB后綴,默認的后綴為MB。Size中不能使用小數(shù),其最小值為512KB,默認值為1MB。主文件的size不能小于模板數(shù)據(jù)庫中的主文件。使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫database_name:數(shù)據(jù)庫的名稱。數(shù)據(jù)庫名稱在服務器MAXSIZE:指定操作系統(tǒng)文件可以增長到的最大尺寸。如果沒有指定,則文件可以不斷增長直到充滿磁盤。FILEGROWTH:指定文件每次增加容量的大小,當指定數(shù)據(jù)為0時,表示文件不增長。增加量可以確定為以KB、MB作后綴的字節(jié)數(shù)或以%作后綴的被增加容量文件的百分比來表示。默認后綴為MB。如果沒有指定FILEGROWTH,則默認值為10%,每次擴容的最小值為64KB。使用Transact-SQL語言創(chuàng)建數(shù)據(jù)庫MAXSIZE:指定操作系統(tǒng)文件可以增長到的最大尺寸。如果沒創(chuàng)建數(shù)據(jù)庫(舉例)例3-2-1:使用CREATEDATABASE創(chuàng)建一個student數(shù)據(jù)庫,所有參數(shù)均取默認值。例3-2-2:創(chuàng)建一個Student1數(shù)據(jù)庫,該數(shù)據(jù)庫的主文件邏輯名稱為Student1_data,物理文件名為Student1.mdf,初始大小為10MB,最大尺寸為無限大,增長速度為10%;數(shù)據(jù)庫的日志文件邏輯名稱為Student1_log,物理文件名為Student1.ldf,初始大小為1MB,最大尺寸為5MB,增長速度為1MB。創(chuàng)建數(shù)據(jù)庫(舉例)例3-2-1:使用CREATEDATAB例3-2-3:創(chuàng)建一個指定多個數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫。該數(shù)據(jù)庫名稱為students,有1個10MB和1個20MB的數(shù)據(jù)文件和2個10MB的事務日志文件。數(shù)據(jù)文件邏輯名稱為student1和student2,物理文件名為student1.mdf和student2.mdf。主文件是student1,由primary指定,兩個數(shù)據(jù)文件的最大尺寸分別為無限大和100MB,增長速度分別為10%和1MB。事務日志文件的邏輯名為studentlog1和studentlog2,物理文件名為studentlog1.ldf和studentlog2.ldf,最大尺寸均為50MB,文件增長速度為1MB。創(chuàng)建數(shù)據(jù)庫(舉例)例3-2-3:創(chuàng)建一個指定多個數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫。該第2章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建文件組管理數(shù)據(jù)庫數(shù)據(jù)結構介紹第2章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建文件組文件組的概念文件組是SQLServer中一個或多個文件的命名集合,它構成分配或用于數(shù)據(jù)庫管理的單個單元文件組的使用場合當有多個磁盤,希望把文件分布在這些磁盤上以提高性能文件組的類型兩種文件組:主文件組和用戶定義文件組主文件組——包含主文件的文件組用戶定義的文件組——在首次創(chuàng)建或以后更改數(shù)據(jù)庫時,用戶明確創(chuàng)建的任何文件組創(chuàng)建文件組文件組的概念Northwind
數(shù)據(jù)庫默認文件組OrderHistory組sys...
sys...
sysusers
sysobjects
...
Orders
Customers
Products
OrdHistYear2
OrdHistYear1
Northwind.mdfC:\D:\OrdHist1.ndfOrdHist2.ndfNorthwind.IdfE:\創(chuàng)建文件組(續(xù))Northwind數(shù)據(jù)庫默認文件組OrderHistory創(chuàng)建文件組(續(xù))ALTERDATABASENorthwindADDFILEGROUPOrderHistoryGroupGOALTERDATABASENorthwindADDFILE(NAME=‘OrdHistYear1’,FILENAME=‘c:\HistoryDB\OrdHist1.ndf’,SIZE=5MB)TOFILEGROUPOrderHistoryGroupGO創(chuàng)建文件組(續(xù))第2章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫創(chuàng)建文件組管理數(shù)據(jù)庫數(shù)據(jù)結構介紹第2章創(chuàng)建和管理數(shù)據(jù)庫創(chuàng)建數(shù)據(jù)庫管理數(shù)據(jù)庫查看數(shù)據(jù)庫信息修改數(shù)據(jù)庫收縮數(shù)據(jù)庫或文件刪除數(shù)據(jù)庫事務日志的工作過程管理數(shù)據(jù)庫查看數(shù)據(jù)庫信息檢索數(shù)據(jù)庫信息使用系統(tǒng)存儲過程來顯示數(shù)據(jù)庫以及數(shù)據(jù)庫參數(shù)的信息sp_helpdbsp_helpdb
數(shù)據(jù)庫名檢索數(shù)據(jù)庫信息使用系統(tǒng)存儲過程來顯示數(shù)據(jù)庫以及數(shù)據(jù)庫參數(shù)的信使用Transact-SQL語言修改數(shù)據(jù)庫
只有數(shù)據(jù)庫管理員或具有CREATEDATABASE權限的數(shù)據(jù)庫所有者才有權執(zhí)行該語句。ALTERDATABASE語句的語法格式如下:
修改數(shù)據(jù)庫
使用Transact-SQL語言修改數(shù)據(jù)庫修改數(shù)據(jù)庫Alterdatabasedatabasename{addfile<filespec>[,…n][tofilegroupfilegroupname]|addlogfile<filespec>[,…n]|removefilelogical_file_name|removefilegroupfilegroup_name
|modifyfile<filespec>|modifyname=new_databasename|addfilegroupfilegroup_name|modifyfilegroupfilegroup_name{filegroup_property|name=new_filegroup_name}}修改數(shù)據(jù)庫
Alterdatabasedatabasename修改數(shù)addfile<filespec>[,…n][tofilegroupfilegroupname]:表示向指定的文件組中添加新的數(shù)據(jù)文件。addlogfile<filespec>[,…n]:增加新的日志文件。removefilelogical_file_name:刪除指定的操作系統(tǒng)文件。removefilegroupfilegroup_name:刪除指定的文件組。modifyfile<filespec>:修改某個操作系統(tǒng)文件。modifyname=new_databasename:重命名數(shù)據(jù)庫。addfilegroupfilegroup_name:增加一個文件組。modifyfilegroupfilegroup_name:修改某個指定文件組的屬性。addfile<filespec>[,…n][tofi修改數(shù)據(jù)庫(舉例)
ALTERDATABASESample
MODIFYFILE(NAME='SampleLog',
SIZE=15MB)GOALTERDATABASESampleADDFILE
(NAME=SampleData2,
FILENAME='c:\ProgramFiles\..\..\
Data\Sample2.ndf',
SIZE=15MB,
MAXSIZE=20MB)GO修改數(shù)據(jù)庫(舉例)ALTERDATABASESampl管理數(shù)據(jù)文件和日志文件的增長ALTERDATABASESample
MODIFYFILE(NAME='SampleLog',
SIZE=15MB)GOALTERDATABASESampleADDFILE
(NAME=SampleData2,
FILENAME='c:\ProgramFiles\..\..\Data\Sample2.ndf',
SIZE=15MB,
MAXSIZE=20MB)GO使文件自動增長手動擴充數(shù)據(jù)庫文件添加次要數(shù)據(jù)庫文件管理數(shù)據(jù)文件和日志文件的增長ALTERDATABASES收縮數(shù)據(jù)庫或文件收縮整個數(shù)據(jù)庫企業(yè)管理器DBCCSHRINKDATABASE語句DBCCSHRINKDATABASE(數(shù)據(jù)庫名[,
目標百分比][,{NOTRUNCATE|TRUNCATEONLY}])收縮數(shù)據(jù)庫中的一個數(shù)據(jù)文件企業(yè)管理器DBCCSHRINKFILE語句
DBCCSHRINKFILE({文件名|文件id}[,
目標大小][,{EMPTYFILE|NOTRUNCATE|TRUNCATEONLY}])
自動收縮數(shù)據(jù)庫設置數(shù)據(jù)庫選項autoshrink
為true收縮數(shù)據(jù)庫或文件收縮整個數(shù)據(jù)庫收縮數(shù)據(jù)庫或文件(續(xù))收縮語句中的選項NOTRUNCATE——在數(shù)據(jù)庫文件中保留所釋放的文件空間。(默認情況)TRUNCATEONLY——文件中的所有未使用的空間釋放給操作系統(tǒng)。不嘗試將其重新分配到未分配頁。當使用TRUNCATEONLY時,參數(shù)
target_size和
target_percent
被忽略。EMPTYFILE——只適用于DBCCSHRINKFILE,將清空數(shù)據(jù)文件的內容并將數(shù)據(jù)移動到同一文件組中的其他文件。收縮數(shù)據(jù)庫或文件(續(xù))收縮語句中的選項收縮數(shù)據(jù)庫或文件(續(xù))有一個小型的酒店管理系統(tǒng),其營業(yè)數(shù)據(jù)為150MB,對其中的50%的數(shù)據(jù)進行備份并刪除后,要把數(shù)據(jù)庫立即縮小為初始的大?。?00MB)。下面哪條語句能夠實現(xiàn)該功能?
A.DBCCSHRINKFILE(JiuDianData,NOTRUNCATE)B.DBCCSHRINKDATABASE(JiuDianData,25)C.DBCCSHRINKDATABASE(JiuDianData,100)D.ALTERDATABASEJiuDianDataSETAUTO_SHRINKON√收縮數(shù)據(jù)庫或文件(續(xù))有一個小型的酒店管理系統(tǒng),其營業(yè)數(shù)據(jù)為刪除數(shù)據(jù)庫1.利用企業(yè)管理器刪除數(shù)據(jù)庫2.利用Drop語句刪除數(shù)據(jù)庫
Dropdatabasedatabase_name[,…n]
說明:只有處于正常狀態(tài)下的數(shù)據(jù)庫,才能使用DROP語句刪除。當數(shù)據(jù)庫處于以下狀態(tài)時不能被刪除:數(shù)據(jù)庫正在使用;數(shù)據(jù)庫正在恢復;數(shù)據(jù)庫包含用于復制的已經出版的對象。
DROPDATABASENorthwind,pubs刪除數(shù)據(jù)庫1.利用企業(yè)管理器
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大一暑假實習報告合集七篇
- 職前培訓心得體會
- 學生安全教育觀后感
- 項目年終總結和工作計劃十篇
- 2024年兼職模特合作協(xié)議3篇
- 大學生的畢業(yè)實習報告
- 審計年度工作總結報告大全
- 2025承攬加工合同樣式
- 管材陣列渦流在線檢測系統(tǒng)
- 2024年深海海洋資源勘探開發(fā)合同
- 人教版四年級上下冊英語單詞默寫表(漢譯英)
- 政府會計-課后習題參考答案 童光輝
- 音樂節(jié)演出合作協(xié)議書
- 《學寫文學短評》統(tǒng)編版高一語文必修上冊
- 科研學術保密規(guī)范培訓
- 《海陸變遷》示范課教學設計【湘教版七年級地理上冊】
- 《海上鋼琴師》課件
- 與青春期和解
- 部編版語文六年級上冊詞句段運用練習
- 2023年照明設計總監(jiān)年終總結及下一年計劃
- 2022年北京市西城區(qū)中考英語二模試卷(附答案詳解)
評論
0/150
提交評論