Lock:Deadlock Chain イベント クラス

適用対象: SQL サーバー

Lock:Deadlock Chain イベント クラスは、デッドロックに関係するオブジェクトごとに生成されます。

Lock:Deadlock Chain イベント クラスを使用すると、いつデッドロックの状態が発生したかを監視できます。 この情報は、デッドロックがアプリケーションのパフォーマンスに重大な影響を与えているかどうかや、デッドロックに関係しているオブジェクトを特定する際に役立ちます。 これらのオブジェクトを変更するアプリケーション コードを調べて、デッドロックを最小限に抑える変更を行うことができるかどうかを判断できます。

Lock:Deadlock Chain イベント クラスのデータ列

データ列名 データの種類 説明 列 ID フィルター可能
BinaryData image ロック リソース ID。 2 はい
DatabaseID int このリソースが所属するデータベースの ID。 SQL Server Profiler では、 ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。 データベースに対応する値は、DB_ID 関数を使用して特定します。 3 はい
DatabaseName nvarchar リソースが所属するデータベースの名前。 35 はい
EventClass int イベントの種類 = 59。 27 いいえ
EventSequence int 要求内の特定のイベントのシーケンス。 51 いいえ
EventSubClass int イベント サブクラスの種類。

101 = リソースの種類のロック

102 = リソースの種類の交換
21 はい
IntegerData int デッドロック番号。 サーバーを起動すると、0 から始まる番号が割り当てられ、デッドロックが発生するたびに 1 ずつ加算されます。 25 はい
IntegerData2 int 単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。 55 はい
IsSystem int イベントがシステム プロセスとユーザー プロセスのどちらで発生したか。 1 はシステム、0 はユーザーです。 60 はい
LoginSid image ログイン ユーザーのセキュリティ ID 番号 (SID)。 この情報は、sys.server_principals カタログ ビューで参照できます。 各 SID はサーバーのログインごとに一意です。 41 はい
モード int 0 = NULL - 他のすべてのロック モードと互換性あり (LCK_M_NL)

1 = スキーマ安定度ロック (LCK_M_SCH_S)

2 = スキーマ変更ロック (LCK_M_SCH_M)

3 = 共有ロック (LCK_M_S)

4 = 更新ロック (LCK_M_U)

5 = 排他ロック (LCK_M_X)

6 = インテント共有ロック (LCK_M_IS)

7 = インテント更新ロック (LCK_M_IU)

8 = インテント排他ロック (LCK_M_IX)

9 = 更新のためのインテント付き共有 (LCK_M_SIU)

10 = インテント排他付き共有 (LCK_M_SIX)

11 = インテント排他付き更新 (LCK_M_UIX)

12 = 一括更新ロック (LCK_M_BU)

13 = 共有キー範囲/共有 (LCK_M_RS_S)

14 = 共有キー範囲/更新 (LCK_M_RS_U)

15 = キー範囲挿入/NULL (LCK_M_RI_NL)

16 = 挿入キー範囲/共有 (LCK_M_RI_S)

17 = 挿入キー範囲/更新 (LCK_M_RI_U)

18 = 挿入キー範囲/排他 (LCK_M_RI_X)

19 = 排他キー範囲/共有 (LCK_M_RX_S)

20 = 排他キー範囲/更新 (LCK_M_RX_U)

21 = 排他キー範囲/排他 (LCK_M_RX_X)
32 はい
ObjectID int ロックされたオブジェクトの ID (使用可能かつ適用可能な場合)。 22 はい
ObjectID2 bigint 関連するオブジェクトまたはエンティティの ID (使用可能かつ適用可能な場合)。 56 はい
OwnerID int 1 = TRANSACTION

2 = CURSOR

3 = SESSION

4 = SHARED_TRANSACTION_WORKSPACE

5 = EXCLUSIVE_TRANSACTION_WORKSPACE
58 はい
RequestID int ステートメントが含まれている要求の ID。 49 はい
ServerName nvarchar トレース対象の SQL Server のインスタンスの名前。 26 いいえ
SessionLoginName nvarchar セッションを開始したユーザーのログイン名。 たとえば、Login1 を使用して SQL Server に接続し、Login2 としてステートメントを実行すると、SessionLoginName に Login1 が表示され、LoginName に Login2 が表示されます。 この列には、SQL Server ログインと Microsoft Windows ログインの両方が表示されます。 64 はい
SPID int イベントが発生したセッションの ID。 12 はい
StartTime datetime イベントの開始時刻 (取得できた場合)。 14 はい
TextData ntext リソースの種類に依存するテキスト値。 1 はい
TransactionID bigint システムによって割り当てられたトランザクション ID。 4 はい
Type int 1 = NULL_RESOURCE

2 = DATABASE

3 = FILE

5 = OBJECT

6 = PAGE

7 = KEY

8 = EXTENT

9 = RID

10 = APPLICATION

11 = METADATA

12 = AUTONAMEDB

13 = HOBT

14 = ALLOCATION_UNIT
57 はい

参照

sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks (Transact-SQL)