Lock:Deadlock Chain イベント クラス

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

Mode

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)