Sql i kilitleyen işlemi bulma

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]

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir