web-dev-qa-db-ja.com

データベース2の論理ページ(5:65424)をフェッチしようとして失敗しました

ストアドプロシージャを呼び出すと、次のSqlExceptionが表示されます。

データベース2の論理ページ(5:65424)をフェッチしようとしましたが失敗しました。これは、4899918190390149120ではなく、アロケーションユニット7349876362857938944に属しています。

System.Data.SqlClient.SqlExceptionが発生しました
Message = "データベース2の論理ページ(5:65424)をフェッチしようとしましたが失敗しました。これは4899918190390149120ではなく、割り当てユニット7349876362857938944に属しています。

Source = "。Net SqlClient Data Provider"
ErrorCode = -2146232060
クラス= 21
LineNumber = 257
数値= 605
Procedure = "ispDisplayCount"
サーバー= "10.10.1.1"
状態= 3

この例外はどういう意味ですか?上記の問題に対する解決策はありますか?

上記のエラーで参照されているデータベースはtempdbを示していますが、メッセージ605を参照する同様のエラーは、以下の回答を使用して修正できます。

メッセージ605、レベル21、状態3、行1
データベース7で論理ページ(1:8687634)をフェッチしようとして失敗しました。 72057594052476928ではなく、割り当てユニット72057594364821504に属しています。

11
Parag Meshram

エラーメッセージで示されたデータベースIDが_2_の場合、影響を受けるデータベースはtempdbです。 tempdbのこの種の破損を修正する1つの方法は、SQL Serverインスタンスを再起動することです。 2以外のデータベースIDについては、以下の推奨事項に従ってください。

バックアップから復元する必要があるかもしれませんが、これを試してください:

Sysadminロールのメンバーとして、DBCC PAGE (2, 5, 65424, 3);を実行し、_Metadata: IndexId_値を探します。

  • _0_(ヒープ)または_1_(クラスター化インデックス)の場合は、バックアップから復元する必要があります。
  • not_0_または_1_の場合は、非クラスター化インデックスを再構築できます。

DBCCコマンドを実行し、見つけたものをお知らせください。 をチェックしてくださいhttps://www.mssqltips.com/sqlservertip/1578/using-dbcc-page-to-examine-sql-server-table-and-index-data/ for _DBCC PAGE_コマンドの詳細

11
Matt M

データベースが破損しています。適切なバックアップから復元する時間。バックアップがない場合は、 リカバリプランのテストの重要性 について学ぶ時間です。ハードウェアの信頼性の調査も必要です。システムログの警告とエラーに注意してください。

10
Remus Rusanu

エラーは、データベースが破損していることを示します。良いニュースは、データベースID 2がこれがtempdbデータベースであることを示しているため、これを修正するのは簡単です。データベースインスタンスを再起動するだけです。

インスタンスを再起動したら、破損が発生した理由を理解する必要があります。問題のファイルがあるドライブでchkdskを実行することから始めます。次に、ストレージ自体を見て、問題がないかどうかを確認する必要があります。物理ディスクの問題である可能性、HBAまたはRAIDカードドライバなどである可能性があります。

9
mrdenny

SQLキャッシュをクリアすることでこれを解決できました。

DBCC FREEPROCCACHE
GO
DBCC DROPCLEANBUFFERS
GO

どうやらSQLサービスを再起動しても同じ影響があったでしょう。

Made By SQL を使用して、他の人を助けるためにここに複製します!)

2
8128

多くの人から聞かれるのは、「データベースが壊れています。復元する必要があります」です。以下のいくつか;ログを確認し、問題が最初にいつ発生したか、その行に先行するエラーを確認し、ページが属するデータベース/テーブルを確認します

私の場合、このエラーの前に発生しました。

データベース 'XYZ'のテーブル629577281のインデックスID 9にインデックスエントリが見つかりません。示されたインデックスが破損しているか、現在の更新計画に問題があります

回避策は、参照されたインデックスを追跡して一時的に削除することでした。

私は後で私の正確な問題を説明し、解決策を提供するこのMicrosoftリンクを見つけました link

これが将来誰かを助けることを願っています

1
daffyjeje

私の場合、関係するtablesのデータを切り詰めて再入力することが解決策でした。

おそらくテーブル内のデータが破損しています。

1
xameeramir