zoukankan      html  css  js  c++  java
  • SQL Server死锁日志各字段含义

    使用跟踪标记 1204

    --打开跟踪标记 DBCC TRACEON (1204,-1)
    --关闭跟踪标记 DBCC TRACEOFF (1204,-1)
    处于死锁状态时,跟踪标记 1204 在等待的线程、存在等待线程的资源和控制这些资源的线程间画出相关循环。
    跟踪标记 1204 报告中的术语尽管根据所涉及的资源,跟踪标记 1204 会返回不同信息,但是报告通常会包含如下术语:
    Node 节点:x 在死锁的链中表示项目号 (x)
    List 列表锁的所有者可能是如下列表中的一部分:授权、转换和等待。
    Grant List 授权列表列举资源的当前所有者。
    转换列表列举要把锁转换到较高级别的当前所有者。
    Wait List 等待列表列举当前新锁对资源的请求。 SPID:x ECID:x
    在并行进程情况下,标识系统进程 ID 线程。条目 SPID x ECID 0 表示主线程,而 SPID x ECID > 0 表示同一 SPID 的子线程。
    Statement Type 语句类型 SELECT, INSERT, UPDATE DELETE 语句,线程在这些语句上具有权限。
    行号发生死锁时,列出当前正在执行的批处理语句行。
    Input Buf 列出当前批处理中所有的语句。
    Mode 为线程请求、授权或等待的特定资源,指定锁的类型。模式可以是 IS(意向共享)、S(共享)、U(更新)、IX(意向独占)、SIX(与意向独占共享)和 X(独占)。有关更多信息,请参见SQL Server 中的锁定介绍。
    RID 在对锁进行控制或请求的表中,标识单个行。
    RID 在跟踪标记 1204 中,表示为 RID:db_id:file_id:page_no:row_no;例如,RID: 1:1:1253:0
    TAB 标识对锁进行控制或请求的表。 TAB 在跟踪标记 1204 中表示为 TAB:db_id:object_id;例如,TAB: 2:2009058193
    KEY 在对锁进行控制或请求的索引内,标识键范围。 KEY 在跟踪标记 1204中表示为 KEY:db_id:object_id:index_id;例如,KEY: 2:1977058079:1
    PAG 标识对锁进行控制或请求的页资源。 PAG 在跟踪标记 1204 中表示为 PAG:db_id:file_id:page_no;例如 PAG: 7:1:168
    EXT 标识扩展盘区结构。 EXT 在跟踪标记 1204 中表示为 EXT:db_id:file_id:extent_no;例如,EXT: 7:1:9
    DB 标识数据库锁。 DB 在跟踪标记 1204 中表示为如下方式之一:
    DB:db_id DB:db_id[BULK-OP-DB] 标识了备份数据库占用的数据库锁。 DB:db_id[BULK-OP-LOG] 标识了特定数据库的备份日志占用的锁。 IND
    标识在索引资源上创建的索引占用的锁。
    IND 在跟踪标记 1204 中表示为如下方式之一: IND:db_id:object_id:index_id IND:db_id:object_id:index_id[INDEX_ID] 表明锁在索引 ID 上。 IND:db_id:object_id:index_id[INDEX_NAME] 表明锁在索引名上。
    APP 标识应用程序资源占用的锁。 APP 在跟踪标记 1204 中表示为APP:lock_resource;例如,APP:Formf370f478
    SQL Server 选取应用程序资源为死锁牺牲品时,该应用程序资源的所有者将不会得到先前描述的错误信息。相反,当 sp_getapplock 存储过程在该应用程序资源上执行时,应用程序所有者会获得返回代码"-3"。有关信息,请参见 sp_getapplock
    Victim Resource Owner SQL Server 选择的特殊线程指定为中断死锁循环的牺牲品。选中的线程(以 SPID x ECID 0 标识)和所有现有子线程(以 SPID x ECID > 0 标识)将被终止。
    下一个分支表示来自死锁循环中涉及的相同 SPID 的两个或多个子线程。
    当死锁涉及到平行线程时,各种子线程可能会在通讯缓冲区发生阻塞,而且一个线程会在等待别的子线程中结束。只有所有的其它线程都涉及死锁,才会发生死锁状态。下一个分支表示跟踪其它路径的死锁链。
    根据PAG锁要找到相关数据库表的方法:
    DBCC TRACEON (3604) DBCC PAGE (db_id,file_id,page_no) DBCC TRACEOFF (3604)
  • 相关阅读:
    selenium之 关闭窗口close与quit
    如何去掉xmind的备注红色下划线
    cmd里面快速粘贴复制的设置方式以及初始位置设置
    Python中的空格和缩进问题总结
    python 单例实现
    logging 简单使用
    CTypes
    类装饰器使用
    Django admin
    Django 视图
  • 原文地址:https://www.cnblogs.com/love828/p/3190124.html
Copyright © 2011-2022 走看看