但是我有習慣會想把相同的東西歸在同一個地方,
這樣以後找起東西來也比較好找。
資料庫的東西也是,基本上我都會放在 C:\DBFile 的資料夾下面,
不過有時候新增資料庫的時候會忘了改路徑;
程式開發的初期有時候無可避免的系統名稱改變了!(雖然是一樣的東西)
但是之前資料庫的名稱已經是用就名稱了,
以前想要改變的話大概只能備份下來之後再 restore 回去到新的資料庫,
不過今天突然覺得很懶,想說應該有比較直接的方式吧?
所以上網估狗了一下!語法大致如下:
--修改資料庫邏輯名稱
Alter DataBASE
DB_NAME
MODIFY FILE(NAME= 'DB_NAME' ,NEWNAME= 'DB_NAME-BACKUP' )
Alter DataBASE
DB_NAME
MODIFY FILE(NAME= 'DB_NAME_log', NEWNAME= 'DB_NAME-BACKUP_log'
)
--查詢資料庫實體檔案位置
SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files
WHERE database_id
= DB_ID(N'DB_NAME');
ALTER DATABASE
DB_NAME SET OFFLINE;
--OFFLINE 之後要手動複製實體檔案到想要的位置
--移動實體資料庫檔案
ALTER DATABASE
DB_NAME
MODIFY FILE
( NAME = [DB_NAME-BACKUP], FILENAME = 'C:\DBFile\DB_NAME-BACKUP.mdf'
);
ALTER DATABASE
DB_NAME
MODIFY FILE
( NAME = [DB_NAME-BACKUP_log], FILENAME = 'C:\DBFile\DB_NAME-BACKUP_log.ldf'
);
--必須先手動修改檔案的存取權限
ALTER DATABASE
DB_NAME SET ONLINE;
--修改資料庫名稱
EXEC sp_rename 'DB_NAME', 'DB_NAME-BACKUP', 'DATABASE'
參考網址:移動使用者資料庫
沒有留言:
張貼留言