SQL Server 2008でテーブルを変更すると、次のエラーが発生します。
LOBデータ型ノードのデータベースID 29、ページ(1:235225)、スロット80は存在しません。これは通常、データページのコミットされていないデータを読み取ることができるトランザクションによって発生します。 DBCC CHECKTABLEを実行する
誰も私を助けることができますか?
通常の列は実際の行レコード(ディスク上の構造)に保管されますが、LOB列は別のページに保管され、そのページへのポインターは元のページに残ります。
テーブルをスキャンすると、LOBページへのポインタを含むすべてのデータページがスキャンされます。タイミングが適切で、READ UNCOMMITTEDで実行している場合、データページをスキャンする可能性がありますが、LOBデータを含むページが(参照レコードのポインターをたどって)スキャンされると、変更または削除された可能性がありますその間。
また、破損が原因である可能性もあります。その場合、エラーを何度も再現できるはずです。この場合、DBCC CHECKDBを実行して、破損の問題を確認します。それを再現できないが頻繁に発生する場合は、分離レベルを変更できないかどうかを確認してください。