6.4.1 更改檔案及其屬性
可以在enterprise manager 中利用資料庫屬性設定更改資料庫檔案和事務日誌檔案,也可以用alter database 命令來更改資料庫。alter database 命令可以增加或刪除資料庫中的檔案,也可以修改檔案的屬性。應注意的是只有資料庫管理員(database administration 簡稱dba)或具有create database 許可權的資料庫所有者才有權執行此命令。
alter database 命令的語法如下:
各引數說明如下:
add file
to filegroup
指定要增加檔案到哪個檔案組. add log file
指定要增加的事務日誌檔案 remove file
從資料庫系統表中刪除指定檔案的定義,並且刪除其物理檔案。檔案只有為空時才能被刪除。 ??add filegroupb
指定要增加的檔案組 remove filegroup
從資料庫中刪除指定檔案組的定義,並且刪除其包括的所有資料庫檔案。檔案組只有為空時才能被刪除。 modify file
修改指定檔案的檔名、容量大小、最大容量、檔案增容方式等屬性。但一次只能修改乙個檔案的乙個屬性。使用此選項時應注意,在檔案格式filespec 中必須用name 明確指定檔案的名稱:如果檔案大小是已經確定了的,那麼新定義的size 必須比當前的檔案容量大;filename 只能指定在tempdb database 中存在的檔案,並且新的檔名只有在sql server 重新啟動後才發生作用。 modify filegroup filegroup_name filegroup_property
修改檔案組屬性filegroup_property filegroup_property 可取值為:
readonly: 指定檔案組為唯讀主檔案組primary file group 不能指定為唯讀。只有對資料庫有獨佔訪問許可權的使用者才可以將乙個檔案組標誌為唯讀。
readwrite:使檔案組為可讀寫。只有對資料庫有獨佔訪問許可權的使用者才可以將乙個檔案組標誌為可讀寫。
default:指定檔案組為預設檔案組。乙個資料庫中只能有乙個預設檔案組。
例6-8: 新增乙個包含兩個檔案的檔案組到mydb 資料庫中去.並將此檔案組指定為預設檔案組。
alter database mydb
add filegroup data4
/* 要首先定義檔案組然後才能新增檔案到檔案組中 */
alter database mydb
add file
( name = mydb_data4,
filename = 'd:sql datamydb_data4.ndf',
size = 2mb,
maxsize = 100mb,
filegrowth = 5%),
( name = mydb_data5,
filename = 'd:sql datamydb_data5.ndf',
size = 2mb,
maxsize = 50mb,
filegrowth = 5%)
to filegroup data4
alter database mydb
modify filegroup data4 default
執行結果如下
extending database by 2.00 mb on disk 'mydb_data4'.
extending database by 2.00 mb on disk 'mydb_data5'.
the filegroup property 'default' has been set.
例6-9 新增兩個事務日誌檔案到mydb 資料庫中去
alter database mydb
add log file
( name = mydb_log4,
filename = 'd:sql datamydb_log4.ndf',
size = 1mb,
maxsize = 50mb,
filegrowth = 5%),
( name = mydb_log5,
filename = 'd:sql datamydb_log5.ndf',
size = 1mb,
maxsize = 50mb,
filegrowth = 5%)go
執行結果如下
extending database by 1.00 mb on disk 'mydb_log4'.
extending database by 1.00 mb on disk 'mydb_log5'.
例6-10 修改mydb 資料庫中的mydb_data5 檔案增容方式為一次增加2mb
alter database mydb
modify file
( name = mydb_log5,
filegrowth = 2mb)
執行結果如下
the command(s) completed successfully.
例6-11 刪除mydb 資料庫中的事務日誌檔案mydb_log5
alter database mydb
remove file mydb_log5
執行結果如下
the file 'mydb_log5' has been removed.
6.4.2 更改資料庫名
重新命名資料庫需要使用系統儲存過程sp_renamedb, 其語法如下:
sp_renamedb [@old_name =] 'old_name', [@new_name =] 'new_name'
例6-12: 更改mydb 資料庫的名稱為「my db」。
exec sp_renamedb 'mydb', 'my db'
執行結果如下
the database name ' my db ' has been set.
注意:在使用此命令前,應將要改名的資料庫的訪問選項設為single user mode,並關閉資料庫。在更改資料庫名稱後、在enterprise manager中所看到的仍然是原來的資料庫名稱,只有選擇「databasee"目錄資料夾,再點選工具欄中的「重新整理」按鈕,重新整理介面或在sql server重新啟動後才會看到更改後的資料庫名。別外還應應該的是,資料庫不區分大小寫。
MS SQL入門基礎 資料庫索引
使用者對資料庫最頻繁的操作是進行資料查詢。一般情況下,資料庫在進行查詢操作時需要對整個表進行資料搜尋。當表中的資料很多時,搜尋資料就需要很長的時間,這就造成了伺服器的資源浪費。為了提高檢索資料的能力,資料庫引入了索引機制。本章將介紹索引的概念及其建立與管理。8.1.1 索引的概念 索引是乙個單獨的 ...
MS SQL入門基礎 移動資料庫
在sql server 中可以使用拆分 detach 和附加 attach 的方法來移動資料庫。拆分資料庫是從伺服器中移去邏輯資料庫,但不會將作業系統中的資料庫檔案刪除。附加資料庫將會建立乙個新的資料庫,並複製儲存在已有的資料庫檔案和事務日誌檔案中的資料。使用系統儲存過程sp detach db 來...
MS SQL入門基礎 壓縮資料庫
資料庫在使用一段時間後,時常會出現因資料刪除而造成資料庫中空閒空間太多的情況,這時就需要減少分配給資料庫檔案和事務日誌檔案的磁碟空間,以免浪費磁碟空間。當資料庫中沒有資料時,可以修改資料庫檔案屬性直接改變其占用空間,但當資料庫中有資料時,這樣做會破壞資料庫中的資料,因此需要使用壓縮的方式來縮減資料庫...