Sql Server性能定位及改善

使用SQL Server做为后台数据库的应用程序,当程序操作起来很慢的时候,可能是数据库操作被某个进程Block住了,可以使用以下语句查询目前正在运行的进程

select    
    request_session_id spid,   
    OBJECT_NAME(resource_associated_entity_id) tableName    
from    
    sys.dm_tran_locks   
where    
    resource_type='OBJECT' 

 查询后可以简单粗暴的用Kill命令将进程杀掉,也可以使用以下命令查询出该spid对应的是哪支程式

select er.session_id, CAST(csql.text AS varchar(255)) AS CallingSQL

from master.sys.dm_exec_requests er WITH (NOLOCK)

CROSS APPLY fn_get_sql (er.sql_handle) csql

where er.session_id =?

  

原文地址:https://www.cnblogs.com/dimg/p/10072265.html