修改sqlserver的數據庫名、物理名稱和邏輯文件名


作者:dym0080
來源:CSDN
原文:https://blog.csdn.net/dym0080/article/details/81017777
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

 

最近在一個項目上遇到需要修改數據庫名稱、物理文件名和邏輯名稱。如下圖所示,數據庫ty_cms_lz的物理文件名是ty_cms_lz.mdf和ty_cms_lz_0.ldf,邏輯文件名是lhc_cms和lhc_cms_log。


這樣看上去很別扭,而且數據庫一多很容易混淆。一般新建一個數據庫的話,邏輯名稱和物理文件名是跟數據庫名稱對應起來的。如下圖新建的ty_test數據庫。


為了讓這些名稱對應起來,接下來我會按以下步驟進行操作:

修改數據庫名稱
ty_cms_lz => ty_cms_mc
修改邏輯名稱
lhc_cms=> ty_cms_mc
lhc_cms_log =>ty_cms_mc_log
修改物理文件名
ty_cms_lz.mdf =>ty_cms_mc.mdf
ty_cms_lz_0.mdf =>ty_cms_mc_log_mdf
修改數據庫名
這個最簡單,只需要右擊數據庫ty_cms_lz選擇重命名即可。修改成ty_cms_mc后,后面的步驟都是要對ty_cms_mc進行操作。


修改邏輯名稱
腳本語句如下:

use ty_cms_mc
go

-- 查看當前數據庫邏輯名稱
select name from sys.database_files;

-- 修改數據庫邏輯名稱
-- mdf(舊邏輯名:lhc_cms 新邏輯名:ty_cms_mc)
alter database ty_cms_mc modify file(name=lhc_cms, newname=ty_cms_mc)
-- log(舊邏輯名:lhc_cms_log 新邏輯名:ty_cms_mc_log))
alter database ty_cms_mc modify file(name=lhc_cms_log, newname=ty_cms_mc_log)
1
2
3
4
5
6
7
8
9
10
11
修改完成后我們再查看數據庫屬性,就看到邏輯名稱已經修改過來了,如下圖:


修改物理文件名
物理文件一般是存在sqlserver默認安裝的路徑,如下圖所示:


分三個步驟來進行操作:

分離數據庫
因為數據庫在占用狀態是不可以修改物理文件名稱的,所以先必須分離數據庫。
use master
go
-- 分離數據庫
exec sp_detach_db ty_cms_mc
1
2
3
4
手動修改物理文件名
找到物理文件名的路徑,右擊重命名進行修改。

如果沒有分離數據庫,則直接重命名會報以下錯誤:


附加數據庫
exec sp_attach_db ty_cms_mc,N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\ty_cms_mc.mdf',N'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\ty_cms_mc_log.ldf'
1
最后我們再查看數據庫ty_cms_mc的屬性,可以看到已經全部修改過來了。

---------------------
作者:dym0080
來源:CSDN
原文:https://blog.csdn.net/dym0080/article/details/81017777
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM