次の方法で共有


サーバー構成: バックアップ チェックサムの既定値

適用対象:SQL Server

backup checksum default設定を使用して、すべてのバックアップおよび復元操作中にインスタンス レベルでバックアップ チェックサムを有効または無効にします。

個々のバックアップまたは復元操作に対するエラーのチェックを構成するには、「バックアップ中または復元中にバックアップ チェックサムを有効または無効にする (SQL Server)」を参照してください。

有効な値を次の表に示します。

意味
0 (既定) 無効
1 Enabled

インスタンス レベルですべてのバックアップと復元操作に対してバックアップ チェックサムを有効にするには、次のコマンドを実行します。

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

設定はすぐに有効になります。

使用シナリオ

backup checksum default設定を使用すると、これらのオプションをネイティブに公開しないバックアップ アプリケーションまたはユーティリティを使用する場合に、エラー管理オプション (CHECKSUMNO_CHECKSUM) を指定できます。 SQL Server ログ シッピングまたは SQL Server メンテナンス プランの Backup データベース タスクなどのユーティリティを使うときに、このオプションを使うこともできます。 これらのユーティリティとそれに関連付けられた Transact-SQL ストアド プロシージャには、バックアップ中に CHECKSUM オプションを含めるオプションが用意されていません。

詳細情報

バックアップ操作中にページ チェックサムの検証が失敗すると、SQL Server はバックアップ操作を停止し、エラー メッセージ 3043 を報告します。 エラーの詳細とトラブルシューティング手順については、MSSQLSERVER_3043 のエラー ページを参照してください。

NO_CHECKSUM コマンドで明示的なBACKUP オプションを使用すると、backup checksum default サーバー オプションがオーバーライドされます。

バックアップ セットを保護するために、バックアップ中にチェックサムが使われていたかどうかを判断するには、次のいずれかの方法を使います。

  • HasBackupChecksums コマンドの出力にある RESTORE HEADERONLY フラグ。 次に例を示します。

    RESTORE HEADERONLY FROM DISK = 'c:\temp\master.bak';
    
  • has_backup_checksums データベースの backupset システム テーブルにある msdb 列。 次に例を示します。

    SELECT has_backup_checksums,
           database_name,
           *
    FROM msdb..backupset;
    

CHECKSUM オプションを使用してバックアップを実行した場合、復元操作によって検証が自動的に実行され、エラー メッセージ 3183 が表示されます。 エラーの詳細とトラブルシューティング手順については、MSSQLSERVER_3183 のエラー ページを参照してください。

動的な使用法

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

スタートアップ パラメーターの使用法

SQL Server のスタートアップ パラメーターとしてトレース フラグを追加してから (-T3023)、SQL Server サービスを停止して再起動します。