601: Could not continue scan with NOLOCK due to data movement
SQL ServerNe demek?
NOLOCK (READ UNCOMMITTED) ile yapılan bir tarama sırasında, eşzamanlı veri hareketi (page split/taşınma) nedeniyle tarama devam edemedi. Kilitsiz okuma tutarsız bir duruma denk geldi.
Neden olur?
NOLOCK hint'i veya READ UNCOMMITTED izolasyon seviyesi altında okuma yaparken, aynı anda gerçekleşen güncelleme/silme/page split'ler nedeniyle taranan sayfaların yer değiştirmesi.
Nasıl çözülür?
Sorguyu yeniden çalıştırın (genellikle geçici bir durumdur). Mümkünse NOLOCK hint'inden kaçının; tutarlılık için READ COMMITTED SNAPSHOT (RCSI) izolasyonunu kullanarak kilitsiz ama tutarlı okuma sağlayın. Yoğun yazma yapılan tablolarda dirty read yerine snapshot izolasyonunu tercih edin.
Aynı motorda diğer kayıtlar
- 8623The query processor ran out of internal resources and could not produce a query plan
- 4104The multi-part identifier could not be bound
- 2714There is already an object named in the database
- 50000Custom error raised with RAISERROR
- 3902The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION
- 1101Could not allocate a new page because of insufficient disk space in filegroup
- 3729Cannot DROP because it is being referenced by object