iT邦幫忙

DAY 5
8

SQL Server 無敵手冊系列 第 5

SQL Server 無敵手冊第五篇- 移動 SQL Server 的系統資料庫

在上一篇介紹了SQL Server 的系統資料庫,接下來這一篇就跟大家分享如何移動系統資料庫(只適用於在相同的 SQL Server 執行個體內移動)。
您可能有機會將系統資料庫移動到效能更佳穩定度更到的儲存媒體上,比如說將tempdb移動到與使用者自訂資料庫不同的實體硬碟,可以提升I/O效能,以及確保足夠的存除空間避免tempdb空間不足的問題發生。
本篇文章所提供的方法只適用於在相同的 SQL Server 執行個體內移動資料庫檔案。
若要將資料庫移到 SQL Server 的另一個執行個體或移到其他伺服器,請使用備份和還原卸離和附加,這會在往後的文章為大家介紹。
另外不建議移動Resource,而SQL Server的線上叢書則說明Resource資料庫無法移動。
移動 master 資料庫:
1.執行 [SQL Server 組態管理員] ( [程式集]\[Microsoft SQL Server] \[組態工具])

2.在 [SQL Server 組態管理員]左方視窗點選[SQL Server 服務] 節點後,在右邊視窗以滑鼠右鍵按一下 SQL Server 的執行個體 (例如 [SQL Server (MSSQLSERVER)]),然後選擇 [內容]。

3.在 [SQL Server (instance_name) 內容] 對話方塊中,按一下 [進階] 頁籤。

4.編輯 [啟動參數] 的值指向 master 資料庫資料及記錄檔的規劃位置,然後按一下 [確定]。
參數說明如下:
-d 資料檔的參數
-l 記錄檔的參數
-e 錯誤記錄檔的參數(移動錯誤記錄檔是選擇性的)。

ex:如果 master 資料與記錄檔的規劃位置為 E:\SQLData,則必須將參數值變更如下:
-dE:\SQLData\master.mdf;
-eC:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\LOG\ERRORLOG;
-lE:\SQLData\mastlog.ldf
5.以滑鼠右鍵按一下執行個體名稱並選擇 [停止],即可停止 SQL Server 的執行個體。

6.將 master.mdf 和 mastlog.ldf 檔移至新位置。
7.重新啟動 SQL Server 的執行個體。
PS:如果master沒有移到對的位置,會導致SQL Server 無法啟動
移動系統資料庫
1.對於要移動的每個檔案執行下列陳述式。logical_name是指資料庫檔案的邏輯名稱

ALTER DATABASE database_name MODIFY FILE ( NAME = logical_name , FILENAME = 'new_path\os_file_name' )

2.停止 SQL Server 的執行個體或關閉系統以執行維護。
3.將檔案移到新位置。
4.重新啟動 SQL Server 的執行個體或伺服器。
5.您可以執行下列查詢看看變更後的結果是否正確

SELECT name, physical_name AS CurrentLocation, state_desc
FROM sys.master_files
WHERE database_id = DB_ID(N'<database_name>');

以下列範例是查詢model資料庫

補充說明1:
因為tempdb會在每次啟動 SQL Server 的執行個體時都會重新建立,所以不需要實際移動資料和記錄檔。tempdb的檔案會在在步驟 3 重新啟動此服務時被建立。
補充說明2:
在步驟 1中所提到的邏輯檔案名稱以及它們目前的磁碟位置可以透過下列查詢判斷。

SELECT name, physical_name AS CurrentLocation
FROM sys.master_files
WHERE database_id = DB_ID(N'<database_name>');
GO

以下列範例是查詢model資料庫


上一篇
SQL Server 無敵手冊第四篇- 介紹 SQL Server 的系統資料庫
下一篇
SQL Server 無敵手冊第六篇- 在 SQL Server 中卸離和附加資料庫
系列文
SQL Server 無敵手冊30

2 則留言

0
funkent
iT邦高手 1 級 ‧ 2009-10-07 15:26:13

補充說明:
如果您移動了系統資料庫,接著重建 master 資料庫,就必須再次移動系統資料庫,因為重建作業會將所有系統資料庫安裝到預設的位置。

0
funkent
iT邦高手 1 級 ‧ 2009-11-11 10:26:26

補上SQL Server 無敵手冊全系列的連結
SQL Server 無敵手冊

我要留言

立即登入留言