分享方式:


設定備份總和檢查碼預設 (伺服器組態選項)

適用於:SQL Server

在執行個體層級的所有備份及還原作業期間,使用備份總和檢查碼預設設定來啟用或停用備份總和檢查碼。

若要設定個別備份或還原作業的錯誤檢查,請參閱 在備份或還原期間啟用或停用備份總和檢查碼 (SQL Server)

下表描述有效的值:

意義
0 (預設值) 停用
1 啟用

若要在實例層級啟用所有備份與還原作業的備份總和檢查碼,請執行下列命令:

EXEC sp_configure 'backup checksum default', 1;
RECONFIGURE;

設定會立即生效。

使用方式情節

在未原生公開錯誤管理選項的備份應用程式或公用程式上,您可以使用備份總和檢查碼預設設定來提供這些選項 (CHECKSUMNO_CHECKSUM)。 當您使用像 SQL Server 記錄傳送或 SQL Server 維護計畫的備份資料庫工作的公用程式時,您也可以使用此選項。 這些公用程式和相關的 Transact-SQL 預存程序不提供在備份期間包含 CHECKSUM 選項的選項。

詳細資訊

如果頁面總和檢查碼驗證在備份作業期間失敗,SQL Server 會停止備份作業,並回報錯誤訊息 3043。 如需錯誤和疑難排解步驟的詳細資訊,請參閱 MSSQLSERVER_3043 的錯誤頁面。

當您在 BACKUP 命令中使用明確的 NO_CHECKSUM 選項時,會覆寫備份總和檢查碼預設伺服器選項。

若要判斷在備份期間是否使用總和檢查碼來保護備份組,請使用下列其中一種方法:

  • RESTORE HEADERONLY 命令輸出中的 HasBackupChecksums 旗標。 例如:

    RESTORE headeronly FROM disk = 'c:\temp\master.bak'
    
  • msdb 資料庫中 backupset 系統資料表的 has_backup_checksums 資料行。 例如:

    SELECT has_backup_checksums, database_name, *
    FROM msdb..backupset
    

如果使用 CHECKSUM 選項執行備份,還原作業會自動執行驗證,然後顯示錯誤訊息 3183。 如需錯誤和疑難排解步驟的詳細資訊,請參閱 MSSQLSERVER_3183 的錯誤頁面。

SQL Server 2012 及舊版

在 SQL Server 2012 (11.x) 及舊版中,此選項不存在。 您必須使用追蹤旗標 3023 來啟用 CHECKSUM 選項做為 BACKUP 命令的預設值。 追蹤旗標 3023 可以透過 DBCC TRACEON 陳述式動態使用,也可以當作啟動參數使用。

動態使用方式

DBCC TRACEON(3023, -1);
BACKUP DATABASE...;
DBCC TRACEOFF(3023, -1);

啟動參數使用方式

將追蹤旗標新增到 SQL Server 作為啟動參數 (-T3023),然後停止並重新啟動 SQL Server 服務。