Yaşadığımız bazı engellemeleri takip etmekte gerçekten zorlanıyorum.
SPID durumunu engelleme kökü, cmd 'COMMAND AWAITING' olduğu 'uyuyan', ve sqltext
bir SET TRANSACTION ISOLATION LEVEL READ COMMITTED
.
Engellenen İşlem Sayısı ile En İyi İşlem Sayısı raporunu görüntülediğimde, Engellenen SQL İfadesi '-' olur.
Ben SQL üzerinde bir izleme yaptım ve engelleme kök engelleme SPID izleme olduğunda ama gerçekten beni hiçbir yere götürmedi. Son izleme ifadesi sqltext
yukarıdakiyle aynıdır SET TRANSACTION ISOLATION LEVEL READ COMMITTED
.
TRY / CATCH TREG / COMMIT TRAN / ROLLBACK TRAN ifadelerine sahip olduklarından emin olmak için bulabildiğim tüm ilgili saklı yordamları kontrol ettim (her şey için saklı yordamlar kullanıyoruz, böylece bağımsız ifadeler çalıştırılmıyor). Bu sorun son 24 saat içinde ortaya çıkmaya başladı ve hiç kimse sistemde herhangi bir değişiklik yapmadığını iddia etmiyor.
Çözüm: Nadiren kullanılan saklı prosedürlerimizden birinde bir ekleme ile ilgili bir hata vardı (sütun sayısı eşleşmedi), ancak yine de tam olarak ne olduğu konusunda kafa karıştırıyoruz.
Tüm izleme bilgilerine bakarken, bu saklı yordam için EXEC deyimi zaman zaman listelenmiştir, ancak ASLA BLOCK bloke edici SPID'de gerçekleşmeden hemen önce. Engellemeye başladığında, izlemenin (ya da içindeki ifadelerin herhangi birinin) yürütülmesini kaydetmedi. Bununla birlikte, izlemenin yürütüldüğünü kaydeden başka bir zaman vardı ve hiçbir engelleme olmadı.
Saklı yordam hata raporu bir kullanıcıdan geldi ve ben izlerinde birden fazla EXEC deyimleri bulmak ve SSMS'de çalıştırmak mümkün. Onları çalıştırdığımda hiçbir engelleme olmadı mı yoksa asıldılar mı? Beklendiği gibi koştular (yakalama bloğu, hatadan sonra işlemi tetikledi ve geri aldı). Saklı yordamı düzelttikten sonra sorunu bir daha görmedik.