none
如何查看SQL Server 2008的死锁 RRS feed

  • 问题

  • 请教大家,SQL Server 2000在企业管理器的进程信息中查看死锁,在SQL Server 2008中不知道在那里查看,Microsoft SQL Server Management Studio里找不到看的地方。谢谢
    悠悠自在的鱼
    2009年9月30日 2:28

答案

  • Right click on the server and choose activity monitor, or run 'sp_who2 active', or turn on trace flag 1204.
    2009年9月30日 2:35
  • 1.查询分析器执行 sp_lock  查看

    2.右键服务器-选择“活动和监视器”,查看进程选项。注意“任务状态”字段。

    3.右键服务名称-选择报表-标准报表-活动-所有正在阻塞的事务。
    family as water
    2009年9月30日 3:48
  • 楼主要看的是阻塞吧? 死锁 sql 会自动结束掉死锁中的进程, 不会一直死锁的, 阻塞会持续直到阻塞的资源解锁
    死锁可以通过事件探查器跟踪
    2009年9月30日 4:24
  • 楼主,您是在找类似SQL 2000中的企业管理器下Management下的Current Activity里的Process Info么?
    如果是,在SQL 2005中,它叫Activity Monitor,在Management下,找到它后,右键点View Process。
    从Status和Blocked By等栏位可以查看到具体情况。

    2009年9月30日 16:24

全部回复

  • Right click on the server and choose activity monitor, or run 'sp_who2 active', or turn on trace flag 1204.
    2009年9月30日 2:35
  • SELECT CAST (
    
        REPLACE (
    
            REPLACE (
    
                XEventData.XEvent.value ('(data/value)[1]', 'varchar(max)'),
    
                '<victim-list>', '<deadlock><victim-list>'),
    
            '<process-list>', '</victim-list><process-list>')
    
        AS XML) AS DeadlockGraph
    
    FROM (SELECT CAST (target_data AS XML) AS TargetData
    
        FROM sys.dm_xe_session_targets st
    
        JOIN sys.dm_xe_sessions s ON s.address = st.event_session_address
    
        WHERE [name] = 'system_health') AS Data
    
    CROSS APPLY TargetData.nodes ('//RingBufferTarget/event') AS XEventData (XEvent)
    
        WHERE XEventData.XEvent.value('@name', 'varchar(4000)') = 'xml_deadlock_report';
    
    
    

    http://blog.csdn.net/jerrynet/archive/2009/09/21/4578102.aspx

    2009年9月30日 3:15
    版主
  • 没有类似于SQL Server 2000可视化的界面吗?
    悠悠自在的鱼
    2009年9月30日 3:21
  • Activity monitor is gui interface.
    2009年9月30日 3:24
  • 1.查询分析器执行 sp_lock  查看

    2.右键服务器-选择“活动和监视器”,查看进程选项。注意“任务状态”字段。

    3.右键服务名称-选择报表-标准报表-活动-所有正在阻塞的事务。
    family as water
    2009年9月30日 3:48
  • 楼主要看的是阻塞吧? 死锁 sql 会自动结束掉死锁中的进程, 不会一直死锁的, 阻塞会持续直到阻塞的资源解锁
    死锁可以通过事件探查器跟踪
    2009年9月30日 4:24
  • 楼主,您是在找类似SQL 2000中的企业管理器下Management下的Current Activity里的Process Info么?
    如果是,在SQL 2005中,它叫Activity Monitor,在Management下,找到它后,右键点View Process。
    从Status和Blocked By等栏位可以查看到具体情况。

    2009年9月30日 16:24