搜尋本站文章

2011-10-22

移動 master 資料庫。Moving the master Database

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



實作練習:移動 master 資料庫

示範環境:
SQL Server 2008 R2


步驟01. 執行「SQL Server 組態管理員」。

步驟02. 在「SQL Server Configuration Manager」視窗,在左邊窗格,點選「SQL Server 服務」節點。

步驟03. 在右邊窗格,選擇指定的 SQL Server 執行個體(例如:預設執行個體是:SQL Server (MSSQLSERVER))。滑鼠右鍵,選擇「內容」。

步驟04. 在「SQL Server (MSSQLSERVER)-內容」視窗,點選「進階」頁籤。

步驟05. 在「啟動參數」區域,以「預設執行個體」為例,其預設值是:

--01_啟動參數_預設值行個體為例



-dC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG;-lC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\mastlog.ldf

參數說明:

-d:設定 master 資料庫的資料檔案之存放路徑。
-l:設定 master 資料庫的交易記錄檔案之存放路徑。

-e:選擇性,設定 SQL Server 錯誤記錄檔之存放路徑。

假設 master 資料庫其新的存放路徑為:C:\myAdmin\SQLData,請參考以下的範例參數:

-dC:\myAdmin\SQLData\master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG;-lC:\myAdmin\SQLData\mastlog.ldf


若是要一併調整 SQL Server 錯誤記錄檔,請參考以下的範例參數:

-dC:\myAdmin\SQLData\master.mdf;-eC:\myAdmin\SQLData\ERRORLOG;-lC:\myAdmin\SQLData\mastlog.ldf

--02_填入新的啟動參數



步驟06. 點選「套用」,在「警告」視窗,點選「確定」。在「SQL Server (MSSQLSERVER)-內容」視窗,點選「確定」。

步驟07. 停止此 SQL Server 執行個體的運行。

步驟08. 使用「檔案總管」,將 master.mdf 與 mastlog.ldf 搬移到新的存放路徑。

步驟09. 重新啟動 SQL Server。

步驟10. 執行以下的範例程式,檢視 master 資料庫是否已經移動到新的存放路徑:

USE master
GO
SELECT name N'邏輯檔案', physical_name N'實體檔案路徑', state_desc N'檔案狀態'
FROM sys.master_files
WHERE database_id = DB_ID(N'master');
GO

--03_T-SQL_經搬移到新的路徑


--04_檔案總管_已經搬移到新的路徑





Resource 資料庫

Resource 資料庫是一個唯讀的資料庫,其中包含 SQL Server 擁有的所有系統物件。

SQL Server 系統物件 (例如,sys.objects) 實際上會保存在 Resource 資料庫中,但邏輯上會出現在每個資料庫的 sys 結構描述中。

Resource 資料庫不包含使用者資料或使用者中繼資料。

Resource 資料庫讓升級為新版 SQL Server 的程序變得更快且更容易。在舊版 SQL Server 中,升級需要卸除和建立系統物件。

由於 Resource 資料庫檔案包含所有系統物件,因此現在只要將單一 Resource 資料庫檔案複製到本機伺服器即可完成升級。

在 SQL Server 2008、在 SQL Server 2008 R2 版本中,Resource 資料庫的位置是 :\Program Files\Microsoft SQL Server\MSSQL10_50.\MSSQL\Binn\。

Resource 資料庫的實體檔案名稱為 mssqlsystemresource.mdf 和 mssqlsystemresource.ldf。

在 SQL Server 2008、在 SQL Server 2008 R2 版本,此資料庫無法移動。



--
SQL Server 2005 版本的 Resource 資料庫

Resource 資料庫會隨著 master 資料庫的位置而不同。

ReResource 資料庫的資料和記錄檔必須一起存放,而且必須與 master 資料檔案 (master.mdf) 位於相同的位置。

因此,如果移動 master 資料庫,您也必須將 Resource 資料庫移到與 master 資料檔相同的位置。

請不要將 Resource 資料庫放置到壓縮或加密的 NTFS 檔案系統資料夾中。

這麼做將會降低效能,而且會導致無法升級。





移動系統資料庫
http://msdn.microsoft.com/zh-tw/library/ms345408.aspx

Moving System Databases
http://msdn.microsoft.com/en-us/library/ms345408.aspx

Resource 資料庫
http://msdn.microsoft.com/zh-tw/library/ms190940.aspx

移動系統資料庫: SQL Server 2005 版本
http://msdn.microsoft.com/zh-tw/library/ms345408(v=SQL.90).aspx