備份和還原系統資料庫的考量
SQL Server 會維護一組系統層級資料庫「系統資料庫」,這對伺服器執行個體的運作而言是不可或缺的。在每次重大更新之後,有幾個系統資料庫必須加以備份。您一定要備份的系統資料庫包括 msdb、master 和 model。如果有任何資料庫在伺服器執行個體上使用複寫,您還必須備份 distribution 系統資料庫。這些系統資料庫的備份可讓您在發生系統失敗 (如硬碟故障) 時還原和復原 SQL Server 系統。
下表摘要列出所有系統資料庫。
系統資料庫 |
描述 |
需要備份嗎? |
復原模式 |
註解 |
---|---|---|---|---|
記錄 SQL Server 系統之所有系統層級資訊的資料庫。 |
是 |
簡單 |
請視需要經常備份 master,充分地保護資料以滿足您業務的需求。建議安排定期備份,您可在進行大規模更新之後,以額外的備份來補充。 如需詳細資訊,請參閱<備份 master 資料庫的考量>。 |
|
SQL Server 執行個體上建立之所有資料庫的範本。 |
是 |
User configurable1 |
只在有業務上有需要時才備份 model;例如,在自訂資料庫選項之後立即備份。 最佳作法:我們建議您在必要時僅建立 model 的完整資料庫備份。因為 model 很小,而且少有變更,所以不需要備份記錄。 如需詳細資訊,請參閱<備份 model 和 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 資料庫來覆寫目前的資料庫。
|
用以保存暫存或中繼結果集的工作空間。每當 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 將會重建所有的系統資料庫。 |
如果 model、msdb 或 distribution 資料庫變得無法使用,請從目前的完整資料庫備份還原資料庫。如需詳細資訊,請參閱<還原 model 和 msdb 資料庫的考量>和<備份與還原複寫的資料庫>。