次の方法で共有


Lock:Acquired イベント クラス

適用対象: SQL サーバー

Lock:Acquired イベント クラスは、データ ページなどのリソースのロックの取得を示します。

Lock:Acquired イベント クラスおよび Lock:Released イベント クラスを使用すると、オブジェクトがロックされている時点、取得するロックの種類、およびロックが保持されていた期間を監視できます。 長時間ロックが保持されると、競合の問題が発生する原因となり、調査が必要になることがあります。 たとえば、アプリケーションでは、テーブルの行のロックを取得して、ユーザー入力を待機できます。 ユーザー入力は行われるまでに長時間かかることがあるので、ロックによって他のユーザーがブロックされることがあります。 この場合、アプリケーションは、必要なときにだけロックを要求し、ロックが取得されている場合はユーザー入力を要求しないように再設計する必要があります。

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

データ列名 データの種類 説明 列 ID フィルター可能
ApplicationName nvarchar Microsoft SQL Server のインスタンスへの接続を作成したクライアント アプリケーションの名前。 この列には、プログラムの表示名ではなく、アプリケーションによって渡された値が格納されます。 10 はい
BigintData1 bigint パーティション ID (ロック リソースがパーティション分割されている場合)。 52 はい
BinaryData image ロック リソース ID。 2 はい
ClientProcessID int クライアント アプリケーションが実行されているプロセスに対し、ホスト コンピューターが割り当てた ID。 クライアントによりクライアント プロセス ID が指定されると、このデータ列に値が格納されます。 9 はい
DatabaseID int ロックが取得されたデータベースの ID です。 SQL Server Profiler では、 ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。 データベースに対応する値は、DB_ID 関数を使用して特定します。 3 はい
Duration bigint ロック要求が発行されてからロックが取得されたときまでの時間 (マイクロ秒)。 13 はい
EndTime datetime イベントの終了時刻。 15 はい
EventClass int イベントの種類 = 24。 27 いいえ
EventSequence int 要求内の特定のイベントのシーケンス。 51 いいえ
GroupID int SQL トレース イベントが発生したワークロード グループの ID。 66 はい
HostName nvarchar クライアントが実行されているコンピューターの名前。 このデータ列にはクライアントからホスト名が提供されている場合に値が格納されます。 ホスト名を指定するには、 HOST_NAME 関数を使用します。 8 はい
IntegerData2 int 単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。 55 はい
IsSystem int イベントがシステム プロセスとユーザー プロセスのどちらで発生したか。 1 はシステム、0 はユーザーです。 60 はい
LoginName nvarchar ユーザーのログインの名前 (SQL Server セキュリティ ログインまたは DOMAIN\username の形式の Windows ログイン資格情報)。 11 はい
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 はい
NTDomainName nvarchar ユーザーが所属する Windows ドメイン。 7 はい
NTUserName nvarchar Windows のユーザー名。 6 はい
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 ログインと Windows ログインの両方が表示されます。 64 はい
SPID int イベントが発生したセッションの ID。 12 はい
StartTime datetime イベントの開始時刻 (取得できた場合)。 14 はい
TextData ntext 取得したロックの種類に依存するテキスト値。 この値は、 sys.dm_tran_locks の resource_description列と同じです。 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 はい

参照

Lock:Released イベント クラス
sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks (Transact-SQL)