如果是SQL Server 2005可以直接右鍵重命名,但是SQL Server 2000中不能直接改,可以用sp_renamedb。
1.方法一(物理法): 把Old數據庫改為New數據庫
打開“企業管理器”
找到 Old數據庫--》右鍵--》所有任務--》分離數據庫
然后到C:\Program Files\Microsoft SQL Server\MSSQL\Data下找到Old_Data.mdf和 Old_log.ldf
把Old_Data換成你想要的名字例如New.mdf、New.ldf
然后到企業管理器,找到 數據庫--》右鍵--》所有任務--》附加數據庫--》在彈出的對話框里找到剛才你改名的文件New.mdf
這時您可以看到“原數據庫文件名”“當前文件位置”,在“當前文件位置”前會有大紅X,然后手動修改“當前文件位置”的路徑里的文件名,改為 New.MDF,New.LDF,大紅X消失,“在附加為:”里邊寫上你想使用的數據庫名New,"指定數據庫所有者:"里寫上這個數據庫的所有者,這個如果寫錯了,以后很難改的(至少一般人覺得很難改)。
OK搞定。
以前就寫到上面這一點,好像客戶也沒說什么,感覺應該是可以的,不過今天發現這個問題:
雖然現在的數據庫文件名顯示的是我們想要的“New”,但此時的邏輯文件名還沒有修改,還是原來的那個“Old_Date”,打開企業管理器--》在這個數據庫上點右鍵屬性--》數據文件 下的當前數據庫的位置路徑前的 文件名 還是原來那個,事物日志文件 下的 文件名也還是以前的文件名,也就是說還沒有徹底成功,所以我們還得按如下方法操作--》
工具--》SQL 查詢分析器--》然后輸入:
Alter DataBASE New MODIFY FILE(NAME=
'Old_Data',NEWNAME=
'New_Data') Alter DataBASE New MODIFY FILE(NAME=
'Old_Log',NEWNAME=
'New_Log')
--》按F5運行便可。
OK,一般還要給用戶設置空間大小,設一下就可以了。
2.方法二(存儲過程法):
sp_renamedb 更改數據庫的名稱。
語法 sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name'
參數 [@dbname =] 'old_name'
是數據庫的當前名稱。old_name 為 sysname 類型,無默認值。
[@newname =] 'new_name'
是數據庫的新名稱。new_name 必須遵循標識符規則。new_name 為 sysname 類型,無默認值。
返回代碼值 0(成功)或非零數字(失敗)
權限 只有 sysadmin 和 dbcreator 固定服務器角色的成員才能執行 sp_renamedb。
示例 下例將數據庫 accounting 改名為 financial。
EXEC sp_renamedb 'accounting', 'financial'
語法 sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name'
參數 [@dbname =] 'old_name'
是數據庫的當前名稱。old_name 為 sysname 類型,無默認值。
[@newname =] 'new_name'
是數據庫的新名稱。new_name 必須遵循標識符規則。new_name 為 sysname 類型,無默認值。
返回代碼值 0(成功)或非零數字(失敗)
權限 只有 sysadmin 和 dbcreator 固定服務器角色的成員才能執行 sp_renamedb。
示例 下例將數據庫 accounting 改名為 financial。
EXEC sp_renamedb 'accounting', 'financial'