web-dev-qa-db-ja.com

不整合が検出されました

Asp.netアプリケーションを実行しています。レコードを検索しています。表示ボタンをクリックすると、このエラーが発生します。

ページ(一部のページ)のデータベース(データベース名)で内部操作中に不整合が検出されました。テクニカルサポートに連絡してください。参照番号6。

私はグーグルで検索し、DBCC CHECKDBを実行すると結果を得ました。 SQL Server 2005で次のコマンドを実行します。

DBCC CHECKDB (database name) WITH NO_INFOMSGS, ALL_ERRORMSGS

私の結果はこのようなものでした

テーブルエラー:オブジェクトID 1424372489、インデックスID 1、パーティションID 374822652149760、割り当てユニットID 93347675439104(行内データタイプ)。ページ(1:72872)には前のページ(1:72871)からの参照がありません。チェーンリンケージの問題の可能性があります。メッセージ8928、レベル16、状態1、行1

オブジェクトID 1424372489、インデックスID 1、パーティションID 374822652149760、割り当てユニットID 93347675439104(タイプの行内データ):ページ(1:109577)を処理できませんでした。詳細については、他のエラーを参照してください。メッセージ8978、レベル16、状態1、行1

テーブルエラー:オブジェクトID 1424372489、インデックスID 1、パーティションID 374822652149760、割り当てユニットID 93347675439104(行内データタイプ)。ページ(1:109578)には前のページ(1:109577)からの参照がありません。チェーンリンケージの問題の可能性があります。メッセージ8976、レベル16、状態1、行1

CHECKDBは、テーブル 'some table'(オブジェクトID 1424372489)で、割り当てエラー0および一貫性エラー10を検出しました。

CHECKDBは、テーブル 'some table'(オブジェクトID 1432300808)で0の割り当てエラーと5の一貫性エラーを検出しました。

CHECKDBは、データベース 'データベース名'で0の割り当てエラーと19の一貫性エラーを検出しました。 repair_allow_data_lossは、DBCC CHECKDB(データベース名)によって検出されたエラーの最小修復レベルです。

3
jeni

この不整合エラーは、次のコマンドを実行することで解決できます。

dbcc checkdb(database name,repair_allow_data_loss)
3
jeni

ジェニが言ったように、あなたはそのコマンドを実行することができます、そしてそれは修理をしますが、それはいくつかのデータを失うことができます。

まず始めに:

DBCC CHECKDB( 'DB名'、REPAIR_REBUILD)

それが失敗した場合は、jeniが提供するコマンドを使用します。

dbcc checkdb(データベース名.repair_allow_data_loss)

ただし、修復を許可して実行する必要がある場合は、バックアップからの復元を検討してください。

2
EKS