WEB开发网
开发学院数据库MSSQL Server 通过SQL Server Profiler来监视分析死锁 阅读

通过SQL Server Profiler来监视分析死锁

 2010-01-18 00:00:00 来源:WEB开发网   
核心提示: 死锁优先级:进程的死锁优先级有关可能值的详细信息,请参阅 SET DEADLOCK_PRIORITY (Transact-SQL),通过SQL Server Profiler来监视分析死锁(5),已用日志:进程所使用的日志空间量,所有者 ID: 正在使用事务并且当前正在等待锁的进程的事务 ID,

死锁优先级:进程的死锁优先级有关可能值的详细信息,请参阅 SET DEADLOCK_PRIORITY (Transact-SQL)。

已用日志:进程所使用的日志空间量。

所有者 ID: 正在使用事务并且当前正在等待锁的进程的事务 ID。

事务描述符:指向描述事务状态的事务描述符的指针。

这些数据描述,对于我们理解死锁,只需要知道其中的一些就够,除非我们在专门SQL Server机构工作,才可能要深入理解它们。

通过SQL Server Profiler来监视分析死锁

下面我们来看左边作为牺牲品的这椭圆形处理节点,它告诉我们以下信息:

1.它是一个失败的事务。(蓝色的交叉表示)

2.它是作为牺牲品的T-SQL代码。

3.它对右下方的资源节点有一个排它锁(X).

4.它对右上方的资源节点请求 一个排它锁(X).

通过SQL Server Profiler来监视分析死锁 

我们再来看中间两个长方形的资源节点,两个处理节点对它们各自都使用权,来执行它们各自的代码,同时又有对对方使用资源请求的动作,从而发生了资源的竞争。

这也就让我们明白死锁发生的原因。

这里说明下资源节点的一些信息:

HoBT:堆或 B 树。 用于保护没有聚集索引的表中的 B 树(索引)或堆数据页的锁

associated objid:关联的对象ID,这里只是索引关联的对象ID.

Index name:索引名

通过SQL Server Profiler来监视分析死锁 

上一页  1 2 3 4 5 6  下一页

Tags:通过 SQL Server

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接