基本DDL 語句之Create Database
在SQL 術語中資料庫是一個容器包含了相關的基表視圖索引預存程序和其
他對象在建立這些對象之前必須有一個儲存它們的資料庫在資料庫中對象被進一
步組織為有一個所有者對於某些類型的對象例如表只要屬於不同的使用者就可以在
同一個資料庫中有同樣的名稱然而對於產品系統最好不要出現重複的名稱一般情況
下大多數產品對象由資料庫擁有者擁有
為了建立資料庫使用者必須是系統管理員或者被授權使用Create Database 語句Create
Database 命令最簡單的形式如下
Create Database AppDta
這條語句建立AppDta 資料庫並且把SQL Server 的model 資料庫定義複製到新資料
庫中也就是說model 資料庫中的每一個表視圖預存程序等等的空拷貝都複製在新
資料庫中建立SQL Server 為這個資料庫建立兩個NT Server 檔案appdta.mdf 儲存資料
appdta_log.ldf 儲存交易記錄的內容這兩個檔案的預設初始大小分別設定為model 資料庫
的主檔案和記錄檔的大小如果需要SQL Server 將自動擴充這些檔案
1.指定位置和大小
Create Database AppDta
On Primary
( Name = AppDta1,
Filename = 'E:sqk2005productiondataappdtal.mdf' ,
Size = 10MB,
MaxSize = 100MB,
FileGrowth = 10MB),
( Name = AppDta2,
Filename = 'E:sqk2005productiondataappdta2.mdf',
Size = 10MB,
FileGrowth = 10MB)
Log On
( Name = AppDtaLog1,
Filename = 'F:sqk2005productionlogappdtalog1.ldf',
Size = 10MB,
MaxSize = 100MB,
FileGrowth = 10MB )
2 修改資料庫
在資料庫建立之後可以使用Alter Database 語句增加新檔案刪除已有的檔案或修改
檔案的設如下例 的語句可增加一個新檔案Alter Database AppDta
Add File
( Name = AppDta3,
Filename = 'E:sqk2005productiondataappdta3.mdf',
Size = 10MB,
FileGrowth = 10MB )
--Alter Database AppDta
--Remove File AppDta2
--Alter Database AppDta
--Modify File
--( Name = AppDta1,
--FileGrowth=50MB )
3、定義檔案組
資料庫檔案不包括交易記錄檔可以組成檔案組最初建立一個資料庫時該數
據庫的預設檔案組包含了主檔案和沒有明確分配給使用者定義檔案組的從屬檔案在許多情
況下預設的檔案組已經足夠了對於有些系統在指定的裝置上建立使用者定義的檔案組
可以提高資料庫效能或可恢複性因為可以指定表或索引所在的檔案組所以檔案組提供
了一種間接手段可以把表和索引放在指定的裝置上另外當使用一個包含了許多檔案
的檔案組時SQL Server 根據檔案可用的自由空間把檔案組中的資料按比例散布在檔案
中下面是一個建立檔案組的樣本
Alter Database AppDta
Add FileGrouup AppDtaGroup1
Alter Database AppDta
Add File
( Name = AppDta4,
Filename = 'E:sqk2005productiondataappdta4.mdf',
Size = 10MB,
MaxSize = 100MB,
FileGrowth = 10MB),
( Name = AppDta5,
Filename = 'E:sqk2005productiondataappdta5.mdf',
Size = 10MB,
MaxSize = 100MB,
FileGrowth = 10MB)
To FileGroup AppDtaGroup1
--Alter Database AppDta
--Remove File AppDta4
--Alter Database AppDta
--Remove File AppDta5
--Alter Database AppDta
--Remove FileGroup AppDtaGroup1
--Alter Database AppData
--Modify FileGroup AppDtaGroupl Default
在刪除檔案或者檔案組時它們必須為空白
也可以使用Alter Database 語句改變某個資料庫的預設檔案組例如下面的語句Alter Database AppData
Modify FileGroup AppDtaGroupl Default