SQL : Query Mencari dan Menghapus Transaction Yang ke Lock Menggunakan SSMS



Ada kalanya kita akan menghadapi issue pada sebuah SQL Transaction yang tidak berhasil di commit atau di rollback 

sehingga terkadang terjadi Time out pada aplikasi kita. Dengan 3 cara simpel ini kita dapat menemukan dan mematikan SQL Transaction

1. Pastikan anda login menggunakan user administrator


2. Jalan perintah berikut untuk menampilkan Transaction yang ke lock 


DBCC Opentran


3.  Selanjutnya kita tinggal mematikannya dengan query berikut


KILL [SPID]


Note : kita juga bisa menggunakan perintah berikut untuk menemukan Transaction lainnya.


--============================================ 
--View Locking in Current Database 
--Author: Timothy Ford 
--http://thesqlagentman.com 
--============================================ 
SELECT DTL.resource_type,  
   CASE   
       WHEN DTL.resource_type IN ('DATABASE', 'FILE', 'METADATA') THEN DTL.resource_type  
       WHEN DTL.resource_type = 'OBJECT' THEN OBJECT_NAME(DTL.resource_associated_entity_id, SP.[dbid])  
       WHEN DTL.resource_type IN ('KEY', 'PAGE', 'RID') THEN   
           (  
           SELECT OBJECT_NAME([object_id])  
           FROM sys.partitions  
           WHERE sys.partitions.hobt_id =   
             DTL.resource_associated_entity_id  
           )  
       ELSE 'Unidentified'  
   END AS requested_object_name, DTL.request_mode, DTL.request_status,  
   DEST.TEXT, SP.spid, SP.blocked, SP.status, SP.loginame 
FROM sys.dm_tran_locks DTL  
   INNER JOIN sys.sysprocesses SP  
       ON DTL.request_session_id = SP.spid   
   --INNER JOIN sys.[dm_exec_requests] AS SDER ON SP.[spid] = [SDER].[session_id] 
   CROSS APPLY sys.dm_exec_sql_text(SP.sql_handle) AS DEST  
WHERE SP.dbid = DB_ID()  
   AND DTL.[resource_type] <> 'DATABASE' 
ORDER BY DTL.[request_session_id];

Sumber dan Refrensi

http://dotnetlearners.com/blogs/ms-sql-query-to-find-and-remove-uncommitted-or-open-transactions

https://www.mssqltips.com/sqlservertip/1968/understanding-sql-server-locking/

Load comments