症状:

使用時 DBCCチェックDB   REPAIR_ALLOW_DATA_LOSS 次のように、破損した.MDFデータベースを修復するためのパラメーター:

DBCC CHECKDB(xxxx、 'REPAIR_ALLOW_DATA_LOSS')

次のエラーメッセージが表示されます。

'xxxx'のDBCC結果。
CHECKDBは、データベース 'xxxx'で0個の割り振りエラーと0個の整合性エラーを検出しました。
メッセージ824、レベル24、状態2、行8
SQL Server 論理整合性ベースのI / Oエラーを検出しました:チェックサムが正しくありません(予想:0xea8a9a2f;実際:0x37adbff8)。 これは、ファイル 'xxxx.mdf'のオフセット1x28にあるデータベースID39のページ(0:00000000038000)の読み取り中に発生しました。 の追加メッセージ SQL Server エラーログまたはシステムイベントログに詳細が記載されている場合があります。 これは、データベースの整合性を脅かす重大なエラー状態であり、すぐに修正する必要があります。 完全なデータベース整合性チェック(DBCC CHECKDB)を完了します。 このエラーは多くの要因によって引き起こされる可能性があります。 詳細については、を参照してください。 SQL Server オンラインブック。

ここで、「xxxx.mdf」は、修復される破損したMDFファイルの名前です。 CHECKDBは言うが

CHECKDBは、データベース 'xxxx'で0個の割り振りエラーと0個の整合性エラーを検出しました。

これはまだ一貫性エラーです(メッセージ824)データベース内。

エラーメッセージのスクリーンショット:

論理整合性ベースのI / Oエラー:チェックサムが正しくありません

破損が深刻な場合は、継続的なエラーメッセージが表示されます(メッセージ824)、 以下のように:

メッセージ824、レベル24、状態6、行2 SQL Server 論理整合性ベースのI / Oエラーを検出しました:チェックサムが正しくありません(予想:0x3d17dfef;実際:0xd81748ef)。 これは、ファイル 'xxxx.mdf'のオフセット1にあるデータベースID0のページ(39:0000000000000000)の読み取り中に発生しました。 の追加メッセージ SQL Server エラーログまたはシステムイベントログに詳細が記載されている場合があります。 これは、データベースの整合性を脅かす重大なエラー状態であり、すぐに修正する必要があります。 完全なデータベース整合性チェック(DBCC CHECKDB)を完了します。 このエラーは多くの要因によって引き起こされる可能性があります。 詳細については、を参照してください。 SQL Server オンラインブック。

メッセージ824、レベル24、状態6、行4 SQL Server 論理整合性ベースのI / Oエラーを検出しました:チェックサムが正しくありません(予想:0x3d17dfef;実際:0xd81748ef)。 これは、ファイル 'xxxx.mdf'のオフセット1にあるデータベースID0のページ(39:0000000000000000)の読み取り中に発生しました。 の追加メッセージ SQL Server エラーログまたはシステムイベントログに詳細が記載されている場合があります。 これは、データベースの整合性を脅かす重大なエラー状態であり、すぐに修正する必要があります。 完全なデータベース整合性チェック(DBCC CHECKDB)を完了します。 このエラーは多くの要因によって引き起こされる可能性があります。 詳細については、を参照してください。 SQL Server オンラインブック。

ここで、「xxxx.mdf」は、修復される破損したMDFファイルの名前です。

エラーメッセージのスクリーンショット:

破損がより深刻な場合は、 メッセージ7909メッセージ824:

'xxxx'のDBCC結果。
CHECKDBは、データベース 'xxxx'で0個の割り振りエラーと0個の整合性エラーを検出しました。
メッセージ824、レベル24、状態2、行8
SQL Server 論理整合性ベースのI / Oエラーを検出しました:チェックサムが正しくありません(予想:0xcfcd2118;実際:0x6fc599d6)。 これは、ファイル 'xxxx.mdf'のオフセット1x1にあるデータベースID39のページ(0:00000000002000)の読み取り中に発生しました。 の追加メッセージ SQL Server エラーログまたはシステムイベントログに詳細が記載されている場合があります。 これは、データベースの整合性を脅かす重大なエラー状態であり、すぐに修正する必要があります。 完全なデータベース整合性チェック(DBCC CHECKDB)を完了します。 このエラーは多くの要因によって引き起こされる可能性があります。 詳細については、を参照してください。 SQL Server オンラインブック。
メッセージ7909、レベル20、状態1、行8
緊急モードの修復に失敗しました。バックアップから復元する必要があります。

ここで、「xxxx」はデータベース名、「xxxx.mdf」はデータベースの物理ファイル名です。

Note メッセージ7909 は、多くの状況で発生する可能性のある重大なエラーです。 SQL Server データベースは回復を超えていると思います。

エラーメッセージのスクリーンショット:

正確な説明:

MDFファイルのデータは8KBとして保存されます ページ。 各ページには、オプションのチェックサムフィールドがあります。

DBCC CHECKDBコマンドがヘッダーページ、PFSページ、および一部のデータページでチェックサム値を検出し、問題を修正できない場合、このエラーを報告します(メッセージ824)。 破損が深刻な場合は、継続的なエラーが発生する可能性があります(メッセージ824)またはその後に別のエラー(メッセージ7909).

あなたは私たちの製品を使用することができます DataNumen SQL Recovery 破損したMDFファイルからデータを回復し、このエラーを解決します。

サンプルファイル:

エラーの原因となる破損したMDFファイルのサンプル(単一のメッセージ824エラー):

SQL Server バージョン 破損したMDFファイル によって修正されたMDFファイル DataNumen SQL Recovery
SQL Server 2014 エラー1_3.mdf エラー1_3_修正.mdf

エラーの原因となる破損したMDFファイルのサンプル(継続的なメッセージ824エラー):

SQL Server バージョン 破損したMDFファイル によって修正されたMDFファイル DataNumen SQL Recovery
SQL Server 2014 エラー1_1.mdf エラー1_1_fixed.mdf

エラーの原因となる破損したMDFファイルのサンプル(Msg824エラーとそれに続くMsg7909エラー):

SQL Server バージョン 破損したMDFファイル によって修正されたMDFファイル DataNumen SQL Recovery
SQL Server 2014 エラー1_2.mdf エラー1_2_修正.mdf

 

参照:

1. https://docs.microsoft.com/en-us/sql/relational-databases/errors-events/mssqlserver-824-database-engine-error?view=sql-server-ver15