SQL Server 2014 では、エラーが検出された場合でもデータベースを復旧できます。 重要な新しいエラー検出メカニズムは、バックアップ操作によって作成され、復元操作によって検証できるバックアップ チェックサムのオプションの作成です。 操作がエラーをチェックするかどうか、およびエラーが発生した場合に操作を停止または続行するかどうかを制御できます。 バックアップにバックアップ チェックサムが含まれている場合、RESTORE ステートメントと RESTORE VERIFYONLY ステートメントでエラーを確認できます。
注
ミラー化されたバックアップは、メディア セットの最大 4 つのコピー (ミラー) を提供し、破損したメディアによって発生したエラーから回復するための代替コピーを提供します。 詳細については、「 ミラー化バックアップ メディア セット (SQL Server)」を参照してください。
バックアップ チェックサム
SQL Server では、ページ上のチェックサム、ログ ブロック内のチェックサム、バックアップ チェックサムの 3 種類のチェックサムがサポートされています。 バックアップ チェックサムを生成するときに、BACKUP は、データベースから読み取られたデータが、データベースに存在するチェックサムまたは破損ページの兆候と一致していることを確認します。
BACKUP ステートメントは、必要に応じてバックアップ ストリームのバックアップ チェックサムを計算します。ページ チェックサムまたは破損ページ情報が特定のページに存在する場合、ページをバックアップするときに、BACKUP はページのチェックサムと破損ページの状態とページ ID も検証します。 バックアップ チェックサムを作成する場合、バックアップ操作ではページにチェックサムは追加されません。 ページはデータベースに存在するためバックアップされ、ページはバックアップによって変更されません。
バックアップ チェックサムの検証と生成のオーバーヘッドにより、バックアップ チェックサムを使用するとパフォーマンスに影響する可能性があります。 ワークロードとバックアップスループットの両方が影響を受ける可能性があります。 そのため、バックアップ チェックサムの使用は省略可能です。 バックアップ中にチェックサムを生成することを決定する場合は、発生する CPU オーバーヘッドと、システム上の同時実行ワークロードへの影響を注意深く監視します。
BACKUP では、ディスク上のソース ページやページの内容は変更されません。
バックアップ チェックサムが有効になっている場合、バックアップ操作では次の手順が実行されます。
バックアップ 操作では、バックアップ メディアにページを書き込む前に、ページ レベルの情報 (ページ チェックサムまたは破損ページ検出) が存在するかどうかを確認します。 どちらも存在しない場合、バックアップではページを確認できません。 未確認のページをそのまま含め、その内容が全体的なバックアップ チェックサムに追加されます。
検証中にバックアップ操作でページ エラーが発生した場合、バックアップは失敗します。
注
ページ チェックサムと破損ページ検出の詳細については、ALTER DATABASE ステートメントの PAGE_VERIFY オプションを参照してください。 詳細については、「ALTER DATABASE SET オプション (Transact-SQL)」を参照してください。
ページ チェックサムが存在するかどうかに関係なく、BACKUP はバックアップ ストリーム用に個別のバックアップ チェックサムを生成します。 必要に応じて、復元操作でバックアップ チェックサムを使用して、バックアップが破損していないかどうかを検証できます。 バックアップ チェックサムは、データベース ページではなくバックアップ メディアに格納されます。 バックアップ チェックサムは、必要に応じて復元時に使用できます。
バックアップ セットには、(msdb の has_backup_checksums 列に) バックアップ チェックサムが含まれているというフラグが付 けられます。backupset)。 詳細については、 backupset (Transact-SQL) を参照してください。
復元操作中にバックアップ チェックサムがバックアップ メディアに存在する場合、既定では、RESTORE ステートメントと RESTORE VERIFYONLY ステートメントの両方でバックアップ チェックサムとページ チェックサムが検証されます。 バックアップ チェックサムがない場合は、いずれかの復元操作が検証なしで続行されます。これは、バックアップ チェックサムがないと、復元でページ チェックサムを確実に検証できないためです。
バックアップまたは復元操作中のページ チェックサム エラーへの応答
既定では、ページ チェックサム エラーが発生した後、BACKUP または RESTORE 操作は失敗し、RESTORE VERIFYONLY 操作は続行されます。 ただし、特定の操作でエラーが発生した場合に失敗するか、可能な限り続行するかを制御できます。
エラーが発生した後も BACKUP 操作が続行された場合、操作は次の手順を実行します。
バックアップ メディアのバックアップ セットにエラーを含むフラグを設定し、msdb データベースの suspect_pages テーブル内のページを追跡します。 詳細については、「 suspect_pages (Transact-SQL)」を参照してください。
SQL Server エラー ログにエラーを記録します。
(msdb.backupset の is_damaged 列にある) この種類のエラーを含むものとしてバックアップ セットをマークします。 詳細については、 backupset (Transact-SQL) を参照してください。
バックアップが正常に生成されたが、ページ エラーが含まれているというメッセージを発行します。
関連タスク
バックアップ チェックサムを有効または無効にするには
バックアップ操作中にエラーに対する応答を制御するには
こちらもご覧ください
データベースを変更 (Transact-SQL)
BACKUP (Transact-SQL)
backupset (Transact-SQL)
ミラー化バックアップ メディア セット (SQL Server)
RESTORE (Transact-SQL)
RESTORE VERIFYONLY (Transact-SQL)