web-dev-qa-db-ja.com

SQLサーバーの「LOBデータ型ノードのスロット80が存在しない」エラーはどういう意味ですか?

SQL Server 2008でテーブルを変更すると、次のエラーが発生します。

LOBデータ型ノードのデータベースID 29、ページ(1:235225)、スロット80は存在しません。これは通常、データページのコミットされていないデータを読み取ることができるトランザクションによって発生します。 DBCC CHECKTABLEを実行する

誰も私を助けることができますか?

4
krishna reddy

通常の列は実際の行レコード(ディスク上の構造)に保管されますが、LOB列は別のページに保管され、そのページへのポインターは元のページに残ります。

テーブルをスキャンすると、LOBページへのポインタを含むすべてのデータページがスキャンされます。タイミングが適切で、READ UNCOMMITTEDで実行している場合、データページをスキャンする可能性がありますが、LOBデータを含むページが(参照レコードのポインターをたどって)スキャンされると、変更または削除された可能性がありますその間。

また、破損が原因である可能性もあります。その場合、エラーを何度も再現できるはずです。この場合、DBCC CHECKDBを実行して、破損の問題を確認します。それを再現できないが頻繁に発生する場合は、分離レベルを変更できないかどうかを確認してください。

10