イベント クラス「Lock:Deadlock Chain」は、デッドロックの各参加者に対して生成されます。
Lock:Deadlock Chain イベント クラスを使用して、デッドロック状態が発生したタイミングを監視します。 この情報は、デッドロックがアプリケーションのパフォーマンスに大きな影響を与えるかどうか、および関係するオブジェクトを判断するのに役立ちます。 これらのオブジェクトを変更するアプリケーション コードを調べて、デッドロックを最小限に抑えるための変更を行うことができるかどうかを判断できます。
Lock:デッドロックチェーン イベントクラスのデータカラム
| データ列名 | データの種類 | 説明 | 列 ID | フィルターの適用 |
|---|---|---|---|---|
| BinaryData | image |
リソース識別子をロックします。 | 2 | イエス |
| データベースID | int |
このリソースが属するデータベースの ID。 SQL Server Profiler では、 ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。 データベースに対応する値は、DB_ID 関数を使用して特定します。 | 3 | イエス |
| データベース名 | nvarchar |
リソースが属するデータベースの名前。 | 35 | イエス |
| EventClass | int |
イベントの種類 = 59。 | 二十七 | いいえ |
| イベントシーケンス | int |
要求内の特定のイベントのシーケンス。 | 51 | いいえ |
| イベントサブクラス | int |
イベント サブクラスの種類。 101=リソースの種類のロック 102=リソースの種類 Exchange |
21 (二十一) | イエス |
| 整数データ | int |
デッドロック番号。 サーバーの起動時に 0 から始まる番号が割り当てられ、デッドロックごとにインクリメントされます。 | 二十五 | イエス |
| 整数データ2 | int |
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。 | 55 | イエス |
| IsSystem | int |
イベントがシステム プロセスとユーザー プロセスのどちらで発生したか。 1 はシステム、0 はユーザーです。 | 六十 | イエス |
| ログインSID | 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 | イエス |
| オブジェクトID | int |
ロックされたオブジェクトの ID (使用可能で該当する場合)。 | 22 | イエス |
| ObjectID2 | bigint |
関連するオブジェクトまたはエンティティの ID (使用可能で該当する場合)。 | 56 | イエス |
| オーナーID | int |
1 = トランザクション 2=カーソル 3=SESSION 4 = 共有取引作業領域 5 =EXCLUSIVE_TRANSACTION_WORKSPACE |
58 | イエス |
| RequestID | int |
ステートメントが含まれている要求の ID。 | 49 | イエス |
| サーバー名 | nvarchar |
トレース対象の SQL Server のインスタンスの名前。 | 26 | いいえ |
| SessionLoginName | nvarchar |
セッションを開始したユーザーのログイン名。 たとえば、Login1 を使用して SQL Server に接続し、Login2 としてステートメントを実行すると、SessionLoginName に Login1 が表示され、LoginName に Login2 が表示されます。 この列には、SQL Server ログインと Microsoft Windows ログインの両方が表示されます。 | 64 | イエス |
| SPID (サービスプロバイダーID) | int |
イベントが発生したセッションの ID。 | 12 | イエス |
| 開始時間 | datetime |
イベントの開始時刻 (取得できた場合)。 | 14 | イエス |
| テキストデータ | ntext |
リソースの種類に依存するテキスト値。 | 1 | イエス |
| TransactionID | bigint |
システムによって割り当てられたトランザクション ID。 | 4 | イエス |
| タイプ | int |
1 = NULL_RESOURCE 2=データベース 3=ファイル 5=オブジェクト 6=ページ 7=キー 8=範囲 9=RID 10=アプリケーション 11=METADATA 12=AUTONAMEDB 13=HOBT 14=割り当て単位 |
五十七 | イエス |
こちらもご覧ください
sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks (Transact-SQL)