紀錄修改 SQL Server 資料庫名稱的語法
— — — — — — — — — — — — — — — — — — — — — — — — — —
(一)命名介紹
舊數據庫名稱= TestData新數據庫名稱= NewData
— — — — — — — — — — — — — — — — — — — — — — — — —
(二)查詢MDF和LDF檔案
-使用TestData DB
USE TestData-- 驗證DB真實名稱和路徑(稍後請修改成此路徑)SELECT file_id, name as logical_name, physical_name FROM sys.database_files
— — — — — — — — — — — — — — — — — — — — — — — — —
(三)開始修改資料庫名稱
-- 以下路徑記得修改
-- 使用Master DBUSE TestData-- 驗證DB真實名稱SELECT file_id, name as logical_name, physical_name FROM sys.database_files-- 使用Master DBUSE master-- 修改 logical NameALTER DATABASE TestData MODIFY FILE (NAME=N'TestData', NEWNAME=N'NewData')ALTER DATABASE TestData MODIFY FILE (NAME=N'TestData_log', NEWNAME=N'NewData_Log')--設定DB只能由單一使用者存取ALTER DATABASE TestData SET SINGLE_USER WITH ROLLBACK IMMEDIATE-- 卸離資料庫exec sp_detach_db 'TestData'-- 改檔案名稱EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;EXEC master..xp_cmdshell 'Rename "c:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\TestData.mdf", "NewData.mdf"'EXEC master..xp_cmdshell 'Rename "c:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\TestData_log.ldf", "NewData_Log.ldf"'EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 0;RECONFIGURE;-- 接著透過附加MDF和LDF檔案的方式來新增NewDataCREATE DATABASE NewData ON(FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\NewData.mdf'),(FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA\NewData_Log.ldf')FOR ATTACHGO--將權限修改為 MULTI_USERALTER DATABASE NewData SET MULTI_USER