用sql server 客户端打开日志文件
如图 所示 : 被×掉的图 就是牺牲的进程 !把鼠标放到图上面 就有该进程的Sql 片段
提取出来的事务日志 , 用记事本打开
- 每一个死锁XML文件有一个根节点:deadlock-list。
- 在根节点下,有一个节点deadlock ,其中victim=“process5095468” 值为死锁的编号
- 在deadlock victim节点下有两个节点,process-list,resource-list。process-list节点主要解释死锁的一些相关信息。resource-list节点解释锁的授予情况。
- process-list节点,一般有两个process节点,每个节点代表着一个死锁中的一个进程,如果多个进程造成的死锁,那就会出现多个process节点。我们先看第一个process节点,这个节点根据之前的图片可以看出,是被牺牲的进程。
- 属性id=“process5095468”,这个是被牺牲的进程ID号,在文件中我们可以看到两个process节点的ID号不同。另一个节点的id属性为id=“process53108c8”!
- 属性waitresource=“KEY: 10:72057594048544768 (b5e2941620de)”,KEY代表这是一个键锁 。
- 属性transactionname =“implicit_transaction”,表示事务类型
- 属性lockMode=“S”,锁的模式为共享锁 。
- 属性status=“suspended”,锁的状态。另一个process节点的status=“suspended”。
- 属性hostname="999VISTA"指操作这个事务的电脑名。另一个process节点的hostname=“jack”
- 属性loginname="sa"指登录数据库的SQL账户。另一个process节点的loginname=“aaa”。
- 属性isolationlevel="read committed (2)"指事务隔离级别。