備份和還原系統資料庫的考量

SQL Server 會維護一組系統層級資料庫「系統資料庫」,這對伺服器執行個體的運作而言是不可或缺的。在每次重大更新之後,有幾個系統資料庫必須加以備份。您一定要備份的系統資料庫包括 msdbmastermodel。如果有任何資料庫在伺服器執行個體上使用複寫,您還必須備份 distribution 系統資料庫。這些系統資料庫的備份可讓您在發生系統失敗 (如硬碟故障) 時還原和復原 SQL Server 系統。

下表摘要列出所有系統資料庫。

系統資料庫

描述

需要備份嗎?

復原模式

註解

master

記錄 SQL Server 系統之所有系統層級資訊的資料庫。

簡單

請視需要經常備份 master,充分地保護資料以滿足您業務的需求。建議安排定期備份,您可在進行大規模更新之後,以額外的備份來補充。

如需詳細資訊,請參閱<備份 master 資料庫的考量>。

model

SQL Server 執行個體上建立之所有資料庫的範本。

User configurable1

只在有業務上有需要時才備份 model;例如,在自訂資料庫選項之後立即備份。

最佳作法:我們建議您在必要時僅建立 model 的完整資料庫備份。因為 model 很小,而且少有變更,所以不需要備份記錄。

如需詳細資訊,請參閱<備份 model 和 msdb 資料庫的考量>。

msdb

SQL Server 代理程式用來排程警示和作業,以及記錄操作員的資料庫。msdb 也包含記錄資料表,例如備份和還原記錄資料表。

簡單 (預設值)

每當 msdb 更新時就加以備份。

如需詳細資訊,請參閱<備份 model 和 msdb 資料庫的考量>。

Resource (RDB)

一個唯讀資料庫,其中包含 Microsoft SQL Server 2005 或更新版本隨附之所有系統物件的副本。

Resource 資料庫位於 mssqlsystemresource.mdf 檔案中,這個檔案中只包含程式碼。因此,SQL Server 無法備份 Resource 資料庫。

附註附註
您可以將 mssqlsystemresource.mdf 檔視為二進位 (.exe) 檔案而非資料庫檔案,藉以針對該檔案執行以檔案或磁碟為基礎的備份。但是您無法在這些備份上使用 SQL Server 還原。還原 mssqlsystemresource.mdf 的備份副本只能手動完成,而且您必須小心不要使用過期或可能不安全的 Resource 資料庫來覆寫目前的資料庫。

tempdb

用以保存暫存或中繼結果集的工作空間。每當 SQL Server 執行個體啟動時,就會重新建立此資料庫。當伺服器執行個體關閉時,tempdb 中的任何資料都會被永久刪除。

簡單

您不能備份 tempdb 系統資料庫。

設定散發

唯有將伺服器設定為複寫散發者時才會存在的資料庫。這個資料庫會儲存各種複寫的中繼資料和記錄資料,以及交易式複寫的交易。

簡單

如需有關何時備份 distribution 資料庫的詳細資訊,請參閱<備份與還原複寫的資料庫>。

1 如需瞭解此模型目前的復原模式,請參閱<如何:檢視或變更資料庫的復原模式 (SQL Server Management Studio)>或<sys.databases (Transact-SQL)>。

還原系統資料庫

重要事項重要事項

您只能從伺服器執行個體目前執行之 SQL Server 版本上所建立的備份來還原系統資料庫。例如,若要還原執行於 SQL Server 2005 SP1 之伺服器執行個體上的系統資料庫,您必須使用在伺服器執行個體升級至 SQL Server 2005 SP1 之後所建立的資料庫備份。

若要還原任何資料庫,SQL Server 的執行個體必須在執行中。master 資料庫必須是可存取的,而且至少部分可用,SQL Server 的執行個體才能夠啟動。如果 master 資料庫變得無法使用,您可以使用下列任一方法將資料庫回復到可用狀態:

  • 從現行資料庫備份來還原 master

    如果您可以啟動伺服器執行個體,應該就能夠從完整資料庫備份來還原 master。如需詳細資訊,請參閱<還原 master 資料庫的考量>。

  • 完全重建 master

    如果 master 嚴重損壞,使您無法啟動 SQL Server,則必須重建 master。接著,您應還原 master 的最新完整資料庫備份,因為重建資料庫會導致所有資料遺失。如需有關如何重建 master 的詳細資訊,請參閱<重建系統資料庫>。

重要事項重要事項

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

如果 modelmsdbdistribution 資料庫變得無法使用,請從目前的完整資料庫備份還原資料庫。如需詳細資訊,請參閱<還原 model 和 msdb 資料庫的考量>和<備份與還原複寫的資料庫>。