[SQL Server Tip]使用 ALTER DATABASE 移動資料庫 ALTER DATABASE to Move Databases

 原文來自於 : https://technet.microsoft.com/zh-tw/magazine/gg452698(en-us).aspx

 

你可以使用 ALTER
DATABASE 陳述式移動任何系統或使用者自訂資料庫檔案(除了 Resource database 相關檔案例外)。移動檔案必須指定現有邏輯名稱和新的實體檔案路徑,而且這樣的方式一次只能移動一個檔案。

 

計畫移動資料或記錄檔案請遵循以下步驟

1.取得資料庫檔案的邏輯名稱

USE master

SELECT name, physical_name

FROM sys.master_files

WHERE database_id = DB_ID('Personnel');

2.設定資料庫為離線工作

ALTER DATABASE Personnel

SET offline

GO

3.對於要移動的每個檔案至新路徑請執行以下陳述式

ALTER DATABASE Personnel

MODIFY FILE ( NAME = Personnel_Data, FILENAME =

'C:\Data\Personnel_Data.mdf')

GO

4.重複步驟3移動其他資料和紀錄檔案

5.設定資料庫為線上工作

ALTER DATABASE Personnel

SET online

GO

 

驗證檔案變更

USE master

SELECT name,
physical_name

FROM sys.master_files

WHERE database_id = DB_ID('Personnel');

 

 

你也可能以邏輯名稱來移動全文檢索目錄。請注意當您指定新目錄的位置時,只需指定 new_path,而不需指定 new_path/file_name

計畫移動全文檢索目錄請遵循以下步驟

1.設定資料庫為離線工作

ALTER DATABASE database_name

SET offline

GO

2. 對於要移動的每個全文檢索目錄至新路徑請執行以下陳述式

ALTER DATABASE database_name

MODIFY FILE ( NAME = logical_name, FILENAME = 'new_path')

GO

3.重複步驟2移動其他必要的全文檢索目錄檔案

4. 設定資料庫為線上工作

ALTER DATABASE database_name

SET online

GO

 

關於ALTER DATABASE更多使用請看Change
Settings with ALTER DATABASE in SQL Server 2008.

 

來源出處: Microsoft Press
book Microsoft
SQL Server 2008 Administrator’s Pocket Consultant, Second Edition
by William R. Stanek.