SQL Server da tabloların kilitlenmesi yani lock konumuna geçmesi durumunda tablolar üzerinde işlem yapamaz hale gelirsiniz. Birçok sebepten olabilecek lock durumu sisteminizi sıkıntıya sokabilir.
Hangi veri tabanı içerisinde kilitlenme olmuş, kilitlenen tablo hangisidir ve hangi sorgu buna sebep olmuş gibi bilgiler sorunu çözmenizde faydalı olmaktadır. Bu bilgilere Management Studio içerisinden rahatlıkla ulaşabilirsiniz.
Öncelikle sorunu tespit edip analiz edebilmek için kilitlenmiş bir tabloya ihtiyacım var. Sadece test ortamında aşağıdaki sorguyu çalıştırıp veri tabanımız altındaki bir tabloyu kilitleyebilir ve belirtilen süre içerisinde de kilitli kalmasını sağlayabiliriz.
1 2 3 4 5 |
-- Ortaç Demirel -- BEGIN TRAN SELECT 1 FROM Person.Person WITH (TABLOCKX) WAITFOR DELAY '00:02:00' ROLLBACK TRAN GO |