By | April 12, 2022

SQL Serverファイルのグローバル割り当てページ(GAM): MS SQL Serverファイルは、割り当て構造を格納するさまざまなページで構成されています。 そのようなページの1つに、グローバル割り当てページ(GAM)があります。 これには、そのSQLServerファイルに割り当てられたエクステントに関連する情報が含まれています。

インデックス割り当てマップ(IAM)ページ: インデックス割り当てマップ(IAM)ページは、インデックス/テーブルが使用するエクステントの情報を含む割り当てページです。

複数のIAMページエラーによるSQLテーブルの破損: 場合によっては、1つのオブジェクトに対して複数のIAMページが原因でエラーが発生することがあります。 このようなタイプのエラーは、テーブルの破損を示します。 SQLServerデータベーステーブルでこのような破損が発生した後に発生する可能性のあるエラーは次のとおりです。

サーバー:メッセージ8947、レベル16、状態1

テーブルエラー:オブジェクトID O_ID、インデックスID I_IDの複数のIAMページに、同じ間隔の割り当てが含まれています。 IAMページP_ID1およびP_ID2。

なぜそのようなエラーが発生する可能性がありますか? 前述のエラーが発生した場合は、指定されたインデックスのIAMチェーンに同じGAM間隔(間隔はGAMページがマップするために使用するファイルスペース)をカバーする少なくとも2つのIAMページ(P_ID1とP_ID)があることを意味します。約4GBです)。 複数のエクステントを持つGAM間隔から割り当てられるすべてのインデックスには、その特定のGAM間隔のIAMページが必要です。 すべてのGAM間隔エクステントについて、IAMページにはエクステントごとに1ビットが含まれます。 セットビットは、特定のインデックスがそのインデックスに与えられていることを示します。 発生する可能性のあるこのような複数のIAMページエラーの一般的な理由は、ハードウェア障害である可能性があります。 この場合、SQLデータベースのリカバリが必要になります。

破損したMDFファイルを修正する方法は? SQLデータベースのリカバリには、次の方法を実行できます。

•損傷したハードウェアを交換する:まず、ハードウェア障害に関連する問題があるかどうかを確認する必要があります。 このために、ハードウェア診断を実行し、アプリケーション、WindowsおよびSQLServerのエラーログを確認できます。 そのような問題が存在する場合は、損傷したハードウェアを交換します(必要な場合)。

•バックアップからのSQLデータベースの回復:SQLデータベースのクリーンなバックアップがある場合は、そこから簡単に復元できます。 ただし、そのような有効なバックアップがない場合は、サードパーティのツールを使用できます。

サードパーティツールを使用したSQLデータベースの回復:SQL MDF修復ツールに投資できます。これは、問題に対処するための簡単、効率的、安全で時間の節約になる方法です。 そのような強力なSQLデータベース回復ツールの1つは、SysToolsSQL回復ソフトウェアです。 これは、ユーザーフレンドリーなインターフェースを備えた優れたツールであり、効率的な回復のための高度なテクノロジーと、迅速なMDF修復のための高速アルゴリズムを採用しています。