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 data\mydb_data4.ndf',
size = 2mb,
maxsize = 100mb,
filegrowth = 5%),
( name = mydb_data5,
filename = 'd:\sql data\mydb_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 data\mydb_log4.ndf',
size = 1mb,
maxsize = 50mb,
filegrowth = 5%),
( name = mydb_log5,
filename = 'd:\sql data\mydb_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重新啟動后才會看到更改后的數據庫名。別外還應應該的是,數據庫不區分大小寫。