Thursday, August 16, 2012

Memonitor Blocking Proses di SQL Server

Untuk melihat dan memonitor kerja server database sql, kita bisa melihatnya melalui beberapa cara.
Hal ini dilakukan misal ada kejadian aplikasi lambat atau ke lock. Biasanya ada proses tertentu yang dilakukan user sehingga menyebabkan kerja server tinggi dan bahkan nge-Lock.
Nah, jika kondisi nge-lock sudah menyebabkan hang atau tidak bekerjanya program, ditandai salah satunya request time out, maka kita bisa mengontrol dan bahkan bisa mematikan penyebabnya.
Caranya ada beberapa metode:
  • Activity Monitor, klik kanan database pilih activity monitor
  • SQLServer:Locks Performance Object
  • DMVs
    • sys.dm_exec_requests
    • sys.dm_tran_locks
    • sys.dm_os_waiting_tasks
  • SQL Server Profiler Locks Event Category
Cari tau listnya:

USE master;
GO
EXEC sp_who 'active';
GO
EXEC sp_who2 'active';
GO

Lihat proses yang di block


USE [master]
GO
SELECT  session_id
 ,blocking_session_id
 ,wait_time
 ,wait_type
 ,last_wait_type
 ,wait_resource
 ,transaction_isolation_level
 ,lock_timeout
FROM sys.dm_exec_requests
WHERE blocking_session_id <> 0
GO
 
Jika kita mau mematikannya


USE master;
GO
KILL spid | UOW [WITH STATUSONLY]
GO
 

 Lengkapnya disini.

No comments:

Post a Comment