使用跟踪标记 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)

SQL Server死锁日志各字段含义的更多相关文章

  1. SQL Server死锁

    SQL Server死锁 多个事务之间互相等待对方的资源,导致这些事务永久等待 注意是永久等待,而非长事务 死锁的4个条件 互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程 ...

  2. SQL Server中日志

    再谈SQL Server中日志的的作用 简介 之前我已经写了一个关于SQL Server日志的简单系列文章.本篇文章会进一步挖掘日志背后的一些概念,原理以及作用.如果您没有看过我之前的文章,请参阅: ...

  3. sql server 错误日志errorlog

    一 .概述 SQL Server 将某些系统事件和用户定义事件记录到 SQL Server 错误日志和 Microsoft Windows 应用程序日志中. 这两种日志都会自动给所有记录事件加上时间戳 ...

  4. sql server 跟踪日志

    1,当SQL Server错误日志很大时,手工运行:  exec sp_cycle_errorlog 系统存储过程,即可使用新的日志文件 sqlserver系统自动调用 exec sp_cycle_e ...

  5. Update导致SQL Server死锁的典型方法(转载)

    此文为转载文章,描述的很好,没有验证过. 最近遇到了一个看上去很奇怪,分析起来很有意思的死锁问题.这个死锁看上去难以理解.而分析过程中,又使用了很多分析SQL Server死锁的典型方法.记录下来整个 ...

  6. SQL Server 错误日志过滤(ERRORLOG)

    一.背景 有一天我发现SQL Server服务器的错误日志中包括非常多关于sa用户的登陆错误信息:“Login failed for user 'sa'. 原因: 评估密码时出错.[客户端: XX.X ...

  7. [AlwaysOn Availability Groups]SQL Server错误日志(AG)

    SQL Server错误日志(AG) SQL Server错误日志会记录影响AG的时间,比如: 1.和Windows故障转移集群交互 2.可用副本的状态 3.可用数据的状态 4.AG endpoint ...

  8. SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...

  9. 人人都是 DBA(VI)SQL Server 事务日志

    SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consisten ...

随机推荐

  1. Swift入门系列--Swift官方文档(2.2)--中文翻译--About Swift 关于Swift

    About Swift 关于Swift 官方文档的翻译,仅供参考,本人英语本就不好,边学边翻译,不喜勿喷. Swift is a new programming language for iOS, O ...

  2. Redis监控

    首先判断客户端和服务器连接是否正常 # 客户端和服务器连接正常,返回PONG redis> PING PONG # 客户端和服务器连接不正常(网络不正常或服务器未能正常运行),返回连接异常 re ...

  3. Android中关于List与Json转化问题

    比如 List<String>list=new ArrayList<String>(); list.add("test1"); list.add(" ...

  4. Android listView scroll 恢复滚动位置

    相信大家尝试过许多方法恢复滚动位置,本人也找了许多方法,唯有这个方法好用,下面把代码贴出来 声明两个变量 private int mPosition; private int lvChildTop; ...

  5. 深入浅出Node.js (附录C) - Node编码规范

    C.1 根源 C.2 编码规范 C.2.1 空格与格式 C.2.2 命名规范 C.2.3 比较操作 C.2.4 字面量 C.2.5 作用域 C.2.6 数组与对象 C.2.7 异步 C.2.8 类与模 ...

  6. 【转】iOS开发Xcode7真机调试教程

    原文网址:https://www.skyfox.org/ios-xcode7-debug-device.html 从Xcode7开始,Xcode 不需要$99/$299升级开发者直接可以进行真机调试 ...

  7. Android问题:设置了requestWindowfeature(window.feature_no_title)后,为什么还要getwindow.setFlags?

    //设置窗体全屏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams. ...

  8. DSP知识

    自己认为是问题的问题,时常更新,为了记录学习的点点滴滴. 1.什么是boot loader ? DSP 的速度尽快,EPROM 或flash 的速度较慢, 而DSP 片内的RAM很快, 片外的RAM也 ...

  9. poj 1985 Cow Marathon【树的直径裸题】

    Cow Marathon Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 4185   Accepted: 2118 Case ...

  10. orace owi介绍

    第1章 OWI介绍记录和观察进程所经历的等待现象的功能和界面以及方法论,统称为OWI,也就是Oracle Wait Interface.等待事件的P1.P2.P3值可以通过v$session_wait ...