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


11

SqlExceptionストアドプロシージャを呼び出すと、次のようになります。

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

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

Source = "
。Net SqlClient Data Provider" ErrorCode = -2146232060
Class = 21
LineNumber = 257
Number = 605
Procedure = "ispDisplayCount"
Server = "10.10.1.1"
State = 3

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

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

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

回答:


11

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

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

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

  • もしそうであれば0(ヒープ)または1(クラスタ化インデックス)バックアップから復元する必要があります。
  • またはでない 場合は、非クラスター化インデックスを再構築できます。01

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



9

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

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


デニー、RAMヘルスチェックを行うことも同様に有益だと思いますか?RAMの破損したページがディスクの破損につながるのを見たことはありますか?
Ali Razeghi、

1
ページがダーティと報告される原因となる可能性のある不良RAMスティックがある場合。オッズは、メモリよりもディスクサブシステムの問題の方がはるかに高いです。次に、ディスクが実際に問題ないかどうかを確認します。
mrdenny 2012年

2

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

DBCC FREEPROCCACHE
GO
DBCC DROPCLEANBUFFERS
GO

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

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


1

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

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


1

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

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

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

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

私は後で私の正確な問題を説明し、解決策のリンクを提供するこのマイクロソフトのリンクを見つけました

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.