什麼是重命名數據庫的正確過程?更改SQL數據庫的名稱
示例:我有一個數據庫,可以通過SQL Server Management Studio訪問,並具有類似「MyDatabase」的名稱。這個數據庫的物理性文件
- MyDatabase.mdf
- MyDatabase_log.ldf
如何重新命名這些邏輯和物理名稱爲 「MyNewDatabase」?
感謝幫助
什麼是重命名數據庫的正確過程?更改SQL數據庫的名稱
示例:我有一個數據庫,可以通過SQL Server Management Studio訪問,並具有類似「MyDatabase」的名稱。這個數據庫的物理性文件
如何重新命名這些邏輯和物理名稱爲 「MyNewDatabase」?
感謝幫助
逐字從here摘自:
有幾種方法,使這一變化,但重命名在操作系統級別的物理數據庫文件,你必須將數據庫脫機
使用SSMS使數據庫脫機(右鍵單擊數據庫,選擇任務,脫機),更改操作系統級別的文件名稱,然後使其聯機。
您可以分離數據庫,重命名文件,然後附加指向重命名文件的數據庫來執行此操作。
您可以備份數據庫然後恢復,在恢復過程中更改文件位置。使用T- SQL
ALTER DATABASE的databaseName設置脫機 GO
ALTER DATABASE DATABASENAME MODIFY FILE(NAME = DB,FILENAME =「C:\ PROGRAM 文件\ Microsoft SQL Server的\ MSSQL.2 \ MSSQL \ DATA \ db.mdf ') GO --IF更改日誌文件名
ALTER DATABASE DATABASENAME MODIFY FILE(NAME = db_log,FILENAME = ' C:\ Program Files文件\ Microsoft SQL Server的\ MSSQL。 2 \ MSS QL \ DATA \ db.ldf') GO
ALTER DATABASE的databaseName網上訂 GO
更多信息http://technet.microsoft.com/en-us/library/ms174269.aspx
有幾種方法,使這一變化,但重命名在操作系統級別的物理數據庫文件,您必須使數據庫脫機
sp_renamedb'olddatabasename','newdatabasename'
但確保數據庫未被使用。
在右鍵單擊Management Studio中的數據庫時出現的上下文菜單中的「重命名」選項時要小心。該選項不會更改數據庫文件名稱。要更改DATA和LOG文件的邏輯文件名,您還可以使用Management Studio界面,但不幸的是,它有時不起作用。
讓我們正確地做...它應該始終工作。
附加數據庫:對於它,使用T SQL:
USE [主] CREATE DATABASE [SqlAndMe] ON (FILENAME = N'C:\ ... \ NewName.mdf'), (FILENAME = N'C:\ ... \ NewName_log.LDF ') FOR ATTACH
重命名邏輯文件名:執行該T SQL:
USE [新名稱] ALTER DATABASE [新名稱] MODIFY FILE(NAME = N'OldName', NEWNAME = N'NewName') ALTER數據庫[新名稱] MODIFY FILE(NAME = N'OldName_log」,NEWNAME = N'NewName_log」) SELECT名字,physical_name的 FROM [新名稱] .sys.database_files
它應該工作!
文件名重新連接
CREATE DATABASE MyAdventureWorks
ON(FILENAME = 'C:\ MySQLServer \ AdventureWorks_Data.mdf'),
(FILENAME = 'C:\ MySQLServer \ AdventureWorks_Log.ldf')
FOR ATTACH;
刷新您的SSMS,你們都完成了。
參考
注:如果您喜歡敲儘可能少的代碼越好。數據庫分離後,在更改文件名之前使用GUI開始重新附加過程。使用「腳本操作...」並獲取代碼。在用Windows資源管理器更改文件名後,在SSMS中的代碼中更新它們並運行它。