首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> SQL Server 2005

SQL Server 移動系統資料庫完整指南:master、model、msdb、tempdb 遷移步驟與驗證

     編輯:SQL Server 2005

為何移動系統資料庫?

  • C 盤空間壓力:系統資料庫預設置於 C 盤,長期增長導致系統盤爆滿。
  • 重裝 OS 保留設定:移至資料盤 (D:) 後,重灌 OS 僅需重裝 SQL Server 並掛載既有檔案,保留登入、權限、代理作業等設定。
  • 計畫性維護/架構調整。

系統資料庫簡介

一、移動 tempdb、model、msdb (同步驟)

  1. 查詢目前檔案路徑:
    SELECT name, physical_name, state_desc FROM sys.master_files;
    移動前路徑
  2. 執行 ALTER DATABASE ... MODIFY FILE 指定新路徑:
    -- tempdb
    ALTER DATABASE tempdb MODIFY FILE (NAME='tempdev', FILENAME='D:\Database\tempdb.mdf');
    ALTER DATABASE tempdb MODIFY FILE (NAME='templog', FILENAME='D:\Database\templog.ldf');
    -- model
    ALTER DATABASE model MODIFY FILE (NAME='modeldev', FILENAME='D:\Database\model.mdf');
    ALTER DATABASE model MODIFY FILE (NAME='modellog', FILENAME='D:\Database\modellog.ldf');
    -- msdb
    ALTER DATABASE msdb MODIFY FILE (NAME='MSDBData', FILENAME='D:\Database\msdbdata.mdf');
    ALTER DATABASE msdb MODIFY FILE (NAME='MSDBLog', FILENAME='D:\Database\msdb_log.ldf');
  3. 命令提示字元停止服務:NET STOP MSSQLSERVER
  4. 手動搬移 .mdf/.ldf 檔案至新資料夾 (如 D:\Database)。
  5. 重新啟動服務:NET START MSSQLSERVER
  6. 驗證新路徑:再次執行步驟 1 查詢。
    移動後路徑

二、硬體故障導致無法啟動時的移動 (master-only 復原模式)

  1. 停止服務 (若在執行)。
  2. 以 NET START MSSQLSERVER /f /T3608 進入 master-only 模式。
  3. 連線執行上述 ALTER DATABASE ... MODIFY FILE。
  4. 停止服務,搬移檔案,正常啟動。

直接 NET START MSSQLSERVER 會報 1814 錯誤,需查事件檢視器確認。

三、移動 master 資料庫 (僅透過 SQL Server 組態管理員)

  1. 開啟 **SQL Server 組態管理員** → SQL Server 服務 → 右鍵目標實例 → **屬性** → **進階** 索引標籤。
    組態管理員進階索引標籤
  2. 修改 **啟動參數**:
    -dD:\Database\master.mdf
    -eC:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\ERRORLOG (錯誤記錄保持原位或同移)
    -lD:\Database\mastlog.ldf
  3. 停止服務,搬移 master.mdf/mastlog.ldf 至 D:\Database。
  4. 啟動服務,驗證 sys.master_files。
    master 移動後驗證

建議

  • 移動前**完整備份 master**,並記錄 sa 密碼、重要登入資訊。
  • 生產環境建議維護視窗內操作,並準備回滾方案。
  • tempdb 移至獨立磁碟/SSD 可大幅提升效能。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
資料庫用途
master全域中繼資料:登入、端點、連結伺服器、組態選項、檔案位置等。
model新資料庫範本,預置物件/權限將被繼承。
msdbSQL Agent 作業、備份歷史、警示、Service Broker 隊列。
tempdb暫存物件、中間結果、版本存放區;每次啟動重建,不可備份。