0

私は、アプリケーションで発生しているデッドロックを調査しています。1204、1205、3605のトレースをオンにしました。デッドロックトレースは問題なく取得できました。しかし、私はそれがデッドロックしているリソースを理解することができません。私は多くのフォーラムを読みましたが、それらはすべて、問題のリソースを指すKEY/RIDと呼ばれるものをトレースに含める必要があると言っています。しかし、私のトレースファイルにはKEY/RIDがまったく含まれていません。代わりに、PAGEと呼ばれるものが含まれています。

たとえば、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モード:IXフラグ:0x2

取得したこのページ情報に基づいて、このリソースが何であるかをどのように判断できますか?よろしくお願いします!

4

1 に答える 1

1

ロックはページレベルで行われているようです。http://msdn.microsoft.com/en-us/library/aa937573 (SQL.80).aspx >トレースフラグ1204の使用>トレースフラグ1204レポートの用語>PAGを確認してください

PAG

ロックが保持または要求されているページリソースを識別します。

PAGは、トレースフラグ1204でPAGとして表されます。db_id:file_id:page_no; たとえば、PAG:7:1:168。

編集

  1. DBCC PAGE(http://support.microsoft.com/kb/83065またはhttp://www.sqlmonster.com/Uwe/Forum.aspx/sql-server/26555/Determining-table-for-a-particular- File-id-Page-No)ページ情報からオブジェクトIDを取得するには、

  2. 次に、OBJECT_NAME(http://msdn.microsoft.com/en-us/library/ms186301.aspx)を使用するか、sys.objectsにクエリを実行してリソースを取得します

于 2010-07-01T10:22:24.640 に答える