IsolationLevel.ReadUncommitted kullanırsanız, sorgu herhangi bir kilit vermemesi gerektiğini okudum. Ancak, bunu test ettiğimde, aşağıdaki kilidi gördüm:
Kaynak_Türü : HOBT İsteği_Modu: S (Paylaşılan)
HOBT kilidi nedir? HBT (Öbek veya İkili Ağaç kilidi) ile ilgili bir şey var mı?
Neden hala S kilidi alıyorum?
Yalıtım düzeyi anlık görüntü seçeneğini açmadan sorgu yaparken paylaşılan kilitlemeyi nasıl önleyebilirim?
Bunu SQLServer 2008'de test ediyorum ve anlık görüntü seçeneği kapalı olarak ayarlanmış. Sorgu yalnızca bir seçim gerçekleştirir.
SQL Server kilit sorgumda görünmüyor gibi görünse de, Sch-S gerekli olduğunu görebilirsiniz. Nasıl oluyor da hala Paylaşılan Kilit veriyor? Göre:
İŞLEM YALITIM SEVİYESİNİ AYARLA (Transact-SQL)
READ UNCOMMITTED
Düzeyde çalışan işlemler, diğer işlemlerin geçerli işlem tarafından okunan verileri değiştirmesini önlemek için paylaşılan kilitler vermez.
Bu yüzden biraz kafam karıştı.