Sql i kilitleyen işlemi bulma

Yazar: Özgür GÜLER 1 görüntülenme

Bazen veritabanında oluşan kilitlenmeler sonucunda Activity monitörü inceleyerek kilitlenmeye neden olan işlem ve

kullanıcıyı bulabilmekteyiz. Bu işlemi hızlandırmak için ise aşağıdaki kodu view yaparak kilitlenmeye sebep olan

satırı listeleyebiliriz.

 

[info]CREATE VIEW [dbo].[WhatIsLocked] AS select Locks.request_session_id AS SessionID,Obj.Name AS LockedObjectName, DATEDIFF(second,ActTra.Transaction_begin_time, GETDATE()) AS Duration, ActTra.Transaction_begin_time,COUNT(*) AS Locks FROM sys.dm_tran_locks Locks JOIN sys.partitions Parti ON Parti.hobt_id = Locks.resource_associated_entity_id JOIN sys.objects Obj ON Obj.object_id = Parti.object_id JOIN sys.dm_exec_sessions ExeSess ON ExeSess.session_id = Locks.request_session_id JOIN sys.dm_tran_session_transactions TranSess ON ExeSess.session_id = TranSess.session_id JOIN sys.dm_tran_active_transactions ActTra ON TranSess.transaction_id = ActTra.transaction_id WHERE resource_database_id = db_id() AND Obj.Type = ‘U’ GROUP BY ActTra.Transaction_begin_time,Locks.request_session_id, Obj.Name[/info]

Yorum yapın

E-posta adresiniz yayımlanmayacak. Zorunlu alanlar * ile işaretlenmiştir.

Bu site istenmeyenleri azaltmak için Akismet kullanır. Yorum verilerinizin nasıl işlendiğini öğrenin.