• Sqlserver查询阻塞的SQL语句


    1、筛选被阻塞的数据

     WITH    CTE_SID2( BSID, SID, sql_handle )
              AS ( SELECT   blocking_session_id ,
                            session_id ,
                            sql_handle
                   FROM     sys.dm_exec_requests
                   WHERE    blocking_session_id <> 0
                   UNION ALL
                   SELECT   A.blocking_session_id ,
                            A.session_id ,
                            A.sql_handle
                   FROM     sys.dm_exec_requests A
                            JOIN CTE_SID2 B ON A.SESSION_ID = B.BSID
                 )
        SELECT  C.BSID ,
                C.SID ,
                S.login_name ,
                S.host_name ,
                S.status ,
                S.cpu_time ,
                S.memory_usage ,
                S.last_request_start_time ,
                S.last_request_end_time ,
                S.logical_reads ,
                S.row_count ,
                q.text
        FROM    CTE_SID2 C 
                JOIN sys.dm_exec_sessions S ON C.sid = s.session_id
                CROSS APPLY sys.dm_exec_sql_text(C.sql_handle) Q
        ORDER BY sid

    或者执行如下SQL,找到blocking_session_id

    SELECT sqltext.TEXT, req.session_id, req.status, req.command, req.cpu_time, req.blocking_session_id, req.total_elapsed_time
    FROM sys.dm_exec_requests req (NOLOCK)
    CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS sqltext where blocking_session_id>0

    2.根据spid查询具体的SQL语句

    dbcc inputbuffer(59);

    3.直接执行kill或分析原因

    参考资料:https://blog.csdn.net/Ruishine/article/details/116698990

                     https://www.cnblogs.com/zhuque/archive/2012/11/08/2763343.html

  • 相关阅读:
    nuc970连接jlink进行单步调试的设置
    alsa utils工具使用
    用arm-linux-gcc v4.3.4交叉编译Qt4.8.3
    LNMP分离式部署
    MHA(下)
    MHA(上)
    PXE自动装机
    JumpServer
    FTP
    DNS
  • 原文地址:https://www.cnblogs.com/gaobing/p/15892265.html
Copyright © 2020-2023  润新知