共用方式為


系統資料庫的備份和還原 (SQL Server)

SQL Server 會維護一組系統層級資料庫,即ystem 資料庫,這對伺服器實例的作業至關重要。 每個重大更新之後,都必須備份數個系統資料庫。 您必須一律備份的系統資料庫包含 msdbmastermodel。 如果有任何資料庫在伺服器實例上使用複寫,您也必須備份 分發 系統資料庫。 這些系統資料庫的備份可讓您在發生系統失敗時還原和復原 SQL Server 系統,例如硬碟遺失。

下表摘要說明所有系統資料庫。

系統資料庫 說明 需要備份嗎? 恢復模式 評論
主人 記錄 SQL Server 系統之所有系統層級資訊的資料庫。 是的 簡單 根據您的業務需求,頻繁備份主副本以充分保護數據。 我們建議定期備份排程,您可以在大量更新之後補充額外的備份。
模型 在 SQL Server 實例上建立之所有資料庫的範本。 是的 用戶可配置1 只有在您的商務需求需要時才備份模型,例如,自定義其資料庫選項後立即備份。

最佳做法: 建議您視需要只建立 模型的完整資料庫備份。 因為 模型 很小且很少變更,因此不需要備份記錄。
msdb SQL Server Agent 使用的資料庫,用於排程警示和作業以及記錄操作員。 msdb 也包含記錄數據表,例如備份和還原記錄數據表。 是的 簡單 (預設值) 每當 msdb 被更新時備份。
資源 (RDB) 唯讀資料庫,其中包含隨 SQL Server 隨附的所有系統物件複本 - 資源資料庫位於mssqlsystemresource.mdf檔案中,其中只包含程序代碼。 因此,SQL Server 無法備份 資源 資料庫。

注意:您可以藉由將檔案視為二進制檔(.exe)檔案,而不是資料庫檔案,在mssqlsystemresource.mdf檔案上執行檔案型或磁碟備份。 但是您無法在備份上使用 SQL Server 還原。 還原mssqlsystemresource.mdf的備份復本只能手動完成,您必須小心不要以過期或可能不安全的版本覆寫目前的 Resource 資料庫。
tempdb 用來保留暫存或中繼結果集的工作區。 每次啟動 SQL Server 實例時,都會重新建立此資料庫。 當伺服器實例關閉時, tempdb 中的任何數據會永久刪除。 簡單 您無法備份 tempdb 系統資料庫。
設定散發 只有在伺服器設定為復寫散發者時才存在的資料庫。 此資料庫會儲存所有類型的複寫的元數據和歷程記錄數據,以及事務複製的交易。 是的 簡單 如需何時備份 發行 資料庫的資訊,請參閱 備份和還原複製的資料庫

1 若要瞭解模型的目前恢復模式,請參閱檢視或變更資料庫 (SQL Server)sys.databases 的恢復模式 (Transact-SQL)。

還原系統資料庫的限制

  • 系統資料庫只能從伺服器實例目前執行之 SQL Server 版本上建立的備份還原。 例如,若要在 SQL Server 2012 SP1 上執行的伺服器實例上還原系統資料庫。

  • 若要還原任何資料庫,SQL Server 實例必須執行。 啟動 SQL Server 實例需要 可存取 master 資料庫,且至少部分可使用。 如果 master 變成無法使用,您可以使用下列任一種方式,將資料庫傳回可用狀態:

    • 從目前的資料庫備份還原 master

      如果您可以啟動伺服器實例,您應該能夠從完整資料庫備份還原 master

    • 完全重建 主圖形

      如果 master 嚴重損壞導致您無法啟動 SQL Server,您必須重建 master。 如需詳細資訊,請參閱 重建系統資料庫

      這很重要

      重建 master 會重建所有系統資料庫。

  • 在某些情況下,復原模型資料庫的問題可能需要重建系統資料庫,或取代模型資料庫的 mdf 和 ldf 檔案。 如需詳細資訊,請參閱 重建系統資料庫

相關工作

另請參閱

分布資料庫
master 資料庫
msdb 資料庫
model Database
資源資料庫
tempdb 資料庫