SQL Server 筆記 - 修改資料庫名稱

Hank 程式筆記
3 min readJul 10, 2020

--

紀錄修改 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 DB
USE 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

--

--

Hank 程式筆記
Hank 程式筆記

Written by Hank 程式筆記

0 Followers

比咖啡苦的東西都放這裡~~ 內容有疑問都歡迎留言喔~~

No responses yet