Lock:Acquired イベント クラスLock:Acquired Event Class

適用対象: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Lock:Acquired イベント クラスは、データ ページなどのリソースのロックの取得を示します。The Lock:Acquiredevent class indicates that acquisition of a lock on a resource, such as a data page, has been achieved.

Lock:Acquired イベント クラスおよび Lock:Released イベント クラスを使用すると、オブジェクトがロックされている時点、取得するロックの種類、およびロックが保持されていた期間を監視できます。The Lock:Acquired and Lock:Released event classes can be used to monitor when objects are being locked, the type of locks taken, and for how long the locks were retained. 長時間ロックが保持されると、競合の問題が発生する原因となり、調査が必要になることがあります。Locks retained for long periods of time may cause contention issues and should be investigated. たとえば、アプリケーションでは、テーブルの行のロックを取得して、ユーザー入力を待機できます。For example, an application can be acquiring locks on rows in a table, and then waiting for user input. ユーザー入力は行われるまでに長時間かかることがあるので、ロックによって他のユーザーがブロックされることがあります。Because the user input can take a long time to occur, the locks can block other users. この場合、アプリケーションは、必要なときにだけロックを要求し、ロックが取得されている場合はユーザー入力を要求しないように再設計する必要があります。In this instance, the application should be redesigned to make lock requests only when needed and not require user input when locks have been acquired.

Lock:Acquired イベント クラスのデータ列Lock:Acquired Event Class Data Columns

データ列名Data column name データ型Data type [説明]Description 列 IDColumn ID フィルターの適用Filterable
ApplicationNameApplicationName nvarcharnvarchar MicrosoftMicrosoft SQL ServerSQL Serverのインスタンスへの接続を作成したクライアント アプリケーションの名前。Name of the client application that created the connection to an instance of MicrosoftMicrosoft SQL ServerSQL Server. この列には、プログラムの表示名ではなく、アプリケーションによって渡された値が格納されます。This column is populated with the values passed by the application rather than the displayed name of the program. 1010 はいYes
BigintData1BigintData1 bigintbigint パーティション ID (ロック リソースがパーティション分割されている場合)。Partition ID if the lock resource is partitioned. 5252 はいYes
BinaryDataBinaryData imageimage ロック リソース ID。Lock resource identifier. 22 はいYes
ClientProcessIDClientProcessID intint クライアント アプリケーションが実行されているプロセスに対し、ホスト コンピューターが割り当てた ID。ID assigned by the host computer to the process where the client application is running. クライアントによりクライアント プロセス ID が指定されると、このデータ列に値が格納されます。This data column is populated if the client provides the client process ID. 99 はいYes
DatabaseIDDatabaseID intint ロックが取得されたデータベースの ID です。ID of the database in which the lock was acquired. SQL Server プロファイラーSQL Server Profiler では、ServerName データ列がトレースにキャプチャされ、そのサーバーが利用可能な場合、データベースの名前が表示されます。displays the name of the database if the ServerName data column is captured in the trace and the server is available. データベースに対応する値は、DB_ID 関数を使用して特定します。Determine the value for a database by using the DB_ID function. 33 はいYes
DurationDuration bigintbigint ロック要求が発行されてからロックが取得されたときまでの時間 (マイクロ秒)。Amount of time (in microseconds) between the time the lock request was issued and the time the lock was acquired. 1313 はいYes
EndTimeEndTime datetimedatetime イベントの終了時刻。Time at which the event ended. 1515 はいYes
EventClassEventClass intint イベントの種類 = 24。Type of event = 24. 2727 いいえNo
EventSequenceEventSequence intint 要求内の特定のイベントのシーケンス。Sequence of a given event within the request. 5151 いいえNo
GroupIDGroupID intint SQL トレース イベントが発生したワークロード グループの ID。ID of the workload group where the SQL Trace event fires. 6666 はいYes
HostNameHostName nvarcharnvarchar クライアントが実行されているコンピューターの名前。Name of the computer on which the client is running. このデータ列にはクライアントからホスト名が提供されている場合に値が格納されます。This data column is populated if the client provides the host name. ホスト名を指定するには、HOST_NAME 関数を使用します。To determine the host name, use the HOST_NAME function. 88 はいYes
IntegerData2IntegerData2 intint 単に情報を示すためだけに特定されます。Identified for informational purposes only. サポートされていません。Not supported. 将来の互換性は保証されません。Future compatibility is not guaranteed. 5555 はいYes
IsSystemIsSystem intint イベントがシステム プロセスとユーザー プロセスのどちらで発生したか。Indicates whether the event occurred on a system process or a user process. 1 はシステム、0 はユーザーです。1 = system, 0 = user. 6060 はいYes
LoginNameLoginName nvarcharnvarchar ユーザーのログイン名 ( SQL ServerSQL Server セキュリティ ログインまたは DOMAIN\username という形式の Windows ログイン資格情報)。Name of the login of the user (either SQL ServerSQL Server security login or the Windows login credentials in the form of DOMAIN\username). 1111 はいYes
LoginSidLoginSid imageimage ログイン ユーザーのセキュリティ ID 番号 (SID)。Security identification number (SID) of the logged-in user. この情報は、sys.server_principals カタログ ビューで参照できます。You can find this information in the sys.server_principals catalog view. 各 SID はサーバーのログインごとに一意です。Each SID is unique for each login in the server. 4141 はいYes
モードMode intint ロックが取得された後のモード。Resulting mode after the lock was acquired.

0 = NULL - 他のすべてのロック モードと互換性あり (LCK_M_NL)0=NULL - Compatible with all other lock modes (LCK_M_NL)

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

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

3 = 共有ロック (LCK_M_S)3=Shared Lock (LCK_M_S)

4 = 更新ロック (LCK_M_U)4=Update Lock (LCK_M_U)

5 = 排他ロック (LCK_M_X)5=Exclusive Lock (LCK_M_X)

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

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

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

9 = 更新のためのインテント付き共有 (LCK_M_SIU)9=Shared with intent to Update (LCK_M_SIU)

10 = インテント排他付き共有 (LCK_M_SIX)10=Shared with Intent Exclusive (LCK_M_SIX)

11 = インテント排他付き更新 (LCK_M_UIX)11=Update with Intent Exclusive (LCK_M_UIX)

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

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

14 = 共有キー範囲/更新 (LCK_M_RS_U)14=Key range Shared/Update (LCK_M_RS_U)

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

16 = 挿入キー範囲/共有 (LCK_M_RI_S)16=Key Range Insert Shared (LCK_M_RI_S)

17 = 挿入キー範囲/更新 (LCK_M_RI_U)17=Key Range Insert Update (LCK_M_RI_U)

18 = 挿入キー範囲/排他 (LCK_M_RI_X)18=Key Range Insert Exclusive (LCK_M_RI_X)

19 = 排他キー範囲/共有 (LCK_M_RX_S)19=Key Range Exclusive Shared (LCK_M_RX_S)

20 = 排他キー範囲/更新 (LCK_M_RX_U)20=Key Range Exclusive Update (LCK_M_RX_U)

21 = 排他キー範囲/排他 (LCK_M_RX_X)21=Key Range Exclusive Exclusive (LCK_M_RX_X)
3232 はいYes
NTDomainNameNTDomainName nvarcharnvarchar ユーザーが所属する Windows ドメイン。Windows domain to which the user belongs. 77 はいYes
NTUserNameNTUserName nvarcharnvarchar Windows のユーザー名。Windows user name. 66 はいYes
ObjectIDObjectID intint ロックを取得したオブジェクトの ID (使用可能かつ適用可能な場合)。ID of the object on which the lock was acquired, if available and applicable. 2222 はいYes
ObjectID2ObjectID2 bigintbigint 関連するオブジェクトまたはエンティティの ID (使用可能かつ適用可能な場合)。ID of the related object or entity, if available and applicable. 5656 はいYes
OwnerIDOwnerID intint 1 = TRANSACTION1=TRANSACTION

2 = CURSOR2=CURSOR

3 = SESSION3=SESSION

4 = SHARED_TRANSACTION_WORKSPACE4=SHARED_TRANSACTION_WORKSPACE

5 = EXCLUSIVE_TRANSACTION_WORKSPACE5=EXCLUSIVE_TRANSACTION_WORKSPACE
5858 はいYes
RequestIDRequestID intint ステートメントが含まれている要求の ID。ID of the request containing the statement. 4949 はいYes
ServerNameServerName nvarcharnvarchar トレースされている SQL ServerSQL Server のインスタンスの名前。Name of the instance of SQL ServerSQL Server being traced. 2626 いいえNo
SessionLoginNameSessionLoginName nvarcharnvarchar セッションを開始したユーザーのログイン名。Login name of the user who originated the session. たとえば、Login1 を使用して SQL ServerSQL Server に接続し、Login2 でステートメントを実行すると、SessionLoginName には Login1 が表示され、LoginName には Login2 が表示されます。For example, if you connect to SQL ServerSQL Server using Login1 and execute a statement as Login2, SessionLoginName shows Login1 and LoginName shows Login2. この列には、 SQL ServerSQL Server ログインと Windows ログインの両方が表示されます。This column displays both SQL ServerSQL Server and Windows logins. 6464 はいYes
SPIDSPID intint イベントが発生したセッションの ID。ID of the session on which the event occurred. 1212 はいYes
StartTimeStartTime datetimedatetime イベントの開始時刻 (取得できた場合)。Time at which the event started, if available. 1414 はいYes
TextDataTextData ntextntext 取得したロックの種類に依存するテキスト値。Text value dependent on the lock type that was acquired. この値は、sys.dm_tran_locks の resource_description 列と同じです。This is the same value as the resource_description column in sys.dm_tran_locks. 11 はいYes
TransactionIDTransactionID bigintbigint システムによって割り当てられたトランザクション ID。System-assigned ID of the transaction. 44 はいYes
Type intint 1 = NULL_RESOURCE1=NULL_RESOURCE

2 = DATABASE2=DATABASE

3 = FILE3=FILE

5 = OBJECT5=OBJECT

6 = PAGE6=PAGE

7 = KEY7=KEY

8 = EXTENT8=EXTENT

9 = RID9=RID

10 = APPLICATION10=APPLICATION

11 = METADATA11=METADATA

12 = AUTONAMEDB12=AUTONAMEDB

13 = HOBT13=HOBT

14 = ALLOCATION_UNIT14=ALLOCATION_UNIT
5757 はいYes

参照See Also

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