我正在研究我们的应用程序中发生的死锁。我打开了 1204、1205 和 3605 的跟踪。我得到了死锁跟踪。但我无法弄清楚它陷入僵局的资源。我读过很多论坛,他们都说跟踪应该包含称为 KEY/RID 的东西,它会指向有问题的资源。但我的跟踪文件根本不包含 KEY/RID。相反,它包含称为 PAGE 的内容。
例如,
06/30/2010 16:29:52,spid4s,未知,页面:8:1:16512 CleanCnt:2 模式:IX 标志:0x2
06/30/2010 16:29:52,spid4s,Unknown,PAGE: 8:1:5293 CleanCnt:2 Mode:IX Flags: 0x2
如何根据我收到的 PAGE 信息确定此资源是什么?预先感谢您的帮助!
I am researching deadlocks that are happening in our application. I turned trace on for 1204, 1205 and 3605. I got the deadlock trace alright. But I am unable to figure out the resource it is deadlocking on. I have read many forums and they all say that the trace should contain something called a KEY/RID which would point to the resource in question. But my trace files does not contain KEY/RID at all. Instead it contains something called as PAGE.
For example,
06/30/2010 16:29:52,spid4s,Unknown,PAGE: 8:1:16512 CleanCnt:2 Mode:IX Flags: 0x2
06/30/2010 16:29:52,spid4s,Unknown,PAGE: 8:1:5293 CleanCnt:2 Mode:IX Flags: 0x2
How can I determine what this resource is, based on this PAGE information I am getting? Thanks in advance for your help!
发布评论
评论(1)
看起来锁定是在页面级别完成的。查看 http://msdn.microsoft.com/en -us/library/aa937573(SQL.80).aspx >使用跟踪标志1204>跟踪标志 1204 报告中的术语 >聚酰亚胺
编辑
使用 DBCC PAGE (http://support.microsoft.com/kb/83065 或 http://www.sqlmonster.com/Uwe/Forum.aspx/sql-server/26555/Determining-table-for-a-pspecial-File-id-Page-No) 获取页面信息中的对象 ID,
然后使用 OBJECT_NAME (http://msdn.microsoft.com/en-us/library/ms186301.aspx)或查询 sys.objects 以获取资源
,
it looks like the lock is being done at a page level. Check out http://msdn.microsoft.com/en-us/library/aa937573(SQL.80).aspx > Using Trace Flag 1204 > Terms in a Trace Flag 1204 Report > PAG
Edit
Use DBCC PAGE (http://support.microsoft.com/kb/83065 or http://www.sqlmonster.com/Uwe/Forum.aspx/sql-server/26555/Determining-table-for-a-particular-File-id-Page-No) to get the object id from the page information,
then use OBJECT_NAME (http://msdn.microsoft.com/en-us/library/ms186301.aspx) or query sys.objects to get the resource