MSSQLSERVER_2577
詳細
製品名 |
SQL Server |
製品バージョン |
10.50 |
製品ビルド番号 |
|
イベント ID |
2577 |
イベント ソース |
MSSQLSERVER |
コンポーネント |
SQLEngine |
シンボル名 |
DBCC_IAM_CHAIN_SEQUENCE_OUT_OF_ORDER |
メッセージ テキスト |
オブジェクト ID O_ID、インデックス ID I_ID、パーティション ID PN_ID、アロケーション ユニット ID A_ID (型 TYPE) の IAM (Index Allocation Map) チェーン内のチェーン シーケンス番号が間違っています。シーケンス番号 SEQUENCE1 のページ P_ID1 がシーケンス番号 SEQUENCE2 のページ P_ID2 を指しています。 |
説明
個々の IAM (Index Allocation Map) ページにはすべて、シーケンス番号が付けられています。シーケンス番号は、IAM チェーン内における IAM ページの位置を表します。シーケンス番号には、IAM ページごとに値が 1 ずつ増加するという規則があります。IAM ページ P_ID2 には、この規則に従わないシーケンス番号が付けられています。
ユーザーのアクション
ハードウェア障害の調査
ハードウェアの診断を実行し、問題があれば修正します。また、Microsoft Windows のシステム ログとアプリケーション ログ、および SQL Server のエラー ログを調査し、ハードウェア障害の結果としてエラーが発生しているかどうかを確認します。ハードウェア関連の問題がログに記載されている場合は、それを修正します。
データ破損の問題が解決しない場合は、ハードウェア コンポーネントを他のものと交換し、問題の原因を特定するようにしてください。システムで、ディスク コントローラーの書き込みキャッシュが有効になっていないことを確認します。書き込みキャッシュが問題であると思われる場合は、ハードウェアの製造元にお問い合わせください。
それでも問題が解決しない場合は、新しいハードウェア システムの導入をご検討ください。導入の際には、ディスク ドライブの再フォーマットとオペレーティング システムの再インストールが必要になる場合があります。
バックアップから復元する
問題がハードウェアに関するものではなく、また既知のクリーン バックアップがある場合は、そのバックアップを使用してデータベースを復元します。
DBCC CHECKDB の実行
クリーン バックアップがない場合には、REPAIR 句を付けずに DBCC CHECKDB を実行して破損の程度を調べます。DBCC CHECKDB によって使用が推奨される REPAIR 句が表示されたら、適切な REPAIR 句を付けて DBCC CHECKDB を実行し、破損を修復します。
注意 |
---|
REPAIR 句を付けて DBCC CHECKDB を実行した場合にデータにどのような影響があるか確信がない場合は、ステートメントを実行する前に購入元にお問い合わせください。 |
いずれかの REPAIR 句を付けて DBCC CHECKDB を実行しても問題が解決しない場合は、購入元にお問い合わせください。
REPAIR オプションの実行結果
REPAIR を実行すると、IAM チェーンが再構築されます。REPAIR はまず、既存の IAM チェーンを半分ずつに分割します。チェーンの前半は IAM ページ P_ID1 で終わります。P_ID1 ページの次ページ ポインターは、(0:0) に設定されます。チェーンの後半は IAM ページ P_ID2 から始まります。P_ID2 ページの前ページ ポインターは、(0:0) に設定されます。
次に REPAIR は、この 2 つのチェーンを接続し、IAM チェーンのシーケンス番号を再生成します。修復できない IAM ページがあれば、その割り当ては解除されます。
注意 |
---|
この修復を実行すると、データが失われることがあります。 |