DBAtlas · データベース運用アトラス

601: Could not continue scan with NOLOCK due to data movement(データ移動のため NOLOCK でのスキャンを続行できない)

SQL Server

意味

NOLOCK (READ UNCOMMITTED) でのスキャン中に、同時に発生したデータ移動 (ページ分割/移動) のためスキャンを続行できなかった。ロックなしの読み取りが不整合な状態に遭遇した。

原因

NOLOCK ヒントまたは READ UNCOMMITTED 分離レベルでの読み取り中に、同時の更新/削除/ページ分割によってスキャン対象のページが移動した。

対処方法

クエリを再実行する (通常は一時的)。可能な限り NOLOCK ヒントを避け、ブロックせずに一貫した読み取りを行うには READ COMMITTED SNAPSHOT (RCSI) 分離を使う。書き込みの多いテーブルでは、ダーティリードよりスナップショット分離を優先する。

DBAtlas で開く →

同じデータベースの他の項目