Hi-Fi優質I.T網:SQL Server ?嚙踝???forum_id=43-討論區
您尚未登入...
帳號:
密碼:

忘記密碼 
 
  訂閱電子報

取消   訂閱
 
討論區>>SQL Server ?嚙踝???forum_id=43<<

 
 
發起人:
ruby
一般會員
張貼時間:2009/02/15-15:14:13
   檢舉

 主題:移動 master 和資源資料庫

移動 master 和資源資料庫 移動 master 和資源資料庫





資源資料庫會隨著 master 資料庫的位置而不同。資源資料和記錄檔必須一起存放,而且必須與 master 資料檔案 (master.mdf) 位於相同的位置。因此,如果移動 master 資料庫,您也必須將資源資料庫移到與 master 資料檔相同的位置。請不要將資源資料庫放置到壓縮或加密的 NTFS 檔案系統資料夾中。這麼做將會降低效能,而且會導致無法升級。


若要移動 master 和資源資料庫,請遵照下列步驟執行。



  1. [開始] 功能表上,依序指向 [所有程式][Microsoft SQL Server 2005][組態工具],然後按一下 [SQL Server 組態管理員]

  2. [SQL Server 2005 服務] 節點中,以滑鼠右鍵按一下 SQL Server 的執行個體 (例如 [SQL Server (MSSQLSERVER)]),然後選擇 [屬性]

  3. [SQL Server (instance_name) 屬性] 對話方塊中,按一下 [進階] 索引標籤。

  4. [啟動參數] 值編輯成指向 master 資料庫資料及記錄檔的規劃位置,然後按一下 [確定]。移動錯誤記錄檔是選擇性的。
    資料檔的參數值必須遵照 -d 參數,而記錄檔的值則必須遵照 -l 參數。下列範例顯示 master 資料與記錄檔的預設位置參數值。




    -dC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG;-lC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\mastlog.ldf
    如果 master 資料與記錄檔的規劃位置為 E:\SQLData,則必須將參數值更改如下:




    -dE:\SQLData\master.mdf;-eC:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG;-lE:\SQLData\mastlog.ldf

  5. 以滑鼠右鍵按一下執行個體名稱並選擇 [停止],即可停止 SQL Server 的執行個體。

  6. 將 master.mdf 和 mastlog.ldf 檔移至新位置。

  7. 在命令提示字元下輸入下列其中一個命令,以僅限 master 的復原模式啟動 SQL Server 的執行個體。在這些命令中指定的參數要區分大小寫。如果未依照所示指定參數,命令將會失敗。


    • 如果是預設 (MSSQLSERVER) 執行個體,請執行下列命令。




      NET START MSSQLSERVER /f /T3608

    • 如果是具名執行個體,請執行下列命令。




      NET START MSSQL$instancename /f /T3608

  8. 使用 sqlcmd 命令或 SQL Server Management Studio 執行下列陳述式。請變更 FILENAME 路徑,使其符合 master 資料檔案的新位置。請勿變更資料庫的名稱或檔案名稱。




     

    ALTER DATABASE mssqlsystemresource 
    MODIFY FILE (NAME=data, FILENAME= 'new_path_of_master\mssqlsystemresource.mdf');
    GO
    ALTER DATABASE mssqlsystemresource
    MODIFY FILE (NAME=log, FILENAME= 'new_path_of_master\mssqlsystemresource.ldf');
    GO

  9. 將 mssqlsystemresource.mdf 和 mssqlsystemresource.ldf 檔案移至新位置。

  10. 執行下列陳述式,將資源資料庫設定成唯讀。




     

    ALTER DATABASE mssqlsystemresource SET READ_ONLY;

  11. 結束 sqlcmd 公用程式或 SQL Server Management Studio。

  12. 停止 SQL Server 的執行個體。

  13. 重新啟動 SQL Server 的執行個體。

  14. 執行下列查詢,驗證 master 資料庫的檔案變更。您不能使用系統目錄檢視或系統資料表檢視資源資料庫的中繼資料。




     

    SELECT name, physical_name AS CurrentLocation, state_desc
    FROM sys.master_files
    WHERE database_id = DB_ID('master');
    GO





A. 移動 tempdb 資料庫



下列範例會以計劃的重新放置,將 tempdb 資料和記錄檔移到新位置。








 
由於在每次啟動 SQL Server 的執行個體時都會重新建立 tempdb,因此您不需要實際移動資料和記錄檔。在步驟 3 中重新啟動服務時,系統就會在新位置建立這些檔案。在重新啟動服務之前,tempdb 將繼續使用現有位置中的資料和記錄檔。




  1. 判斷 tempdb 資料庫的邏輯檔案名稱以及它們目前的磁碟位置。




     

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

  2. 請利用 ALTER DATABASE 來變更每個檔案的位置。




     

    USE master;
    GO
    ALTER DATABASE tempdb
    MODIFY FILE (NAME = tempdev, FILENAME = 'E:\SQLData\tempdb.mdf');
    GO
    ALTER DATABASE tempdb
    MODIFY FILE (NAME = templog, FILENAME = 'F:\SQLLog\templog.ldf');
    GO

  3. 停止和重新啟動 SQL Server 執行個體。

  4. 確認檔案變更。




     

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

  5. 從原始位置中刪除 tempdb.mdf 和 templog.ldf 檔案。

簽名
By Ruby

 



 

Hi-Fi優質I.T網”站內所有文章、圖片除特別加註外均屬本站所有,如有任何問題請來信告知
請支持言論自由,討論區所發表之言論不代表本站立場
Hi-Fi優質I.T網”版權所有2004©
---最佳顯示效果1024*768---