SQL Serverのロック

Microsoft SQL ServerのLocksオブジェクトは、個々のリソース・タイプのSQL Serverロックに関する情報を提供します。ロックは、トランザクション中に読取りまたは変更の対象となる行などのSQL Serverリソースで保持され、複数のトランザクションによってリソースが同時に使用されることを防止します。たとえば、トランザクションによって表内の行に排他(X)ロックが保持されている場合、他のトランザクションは、ロックが解除されるまで、その行を変更できません。ロックを最小化することで同時実行性を高め、パフォーマンスを改善できます。Locksオブジェクトの複数のインスタンスを同時に監視でき、インスタンスごとに1つのリソース・タイプのロックが示されます。

Microsoft SQL Server 2008/2012/2014/2016の場合

デフォルトの収集間隔 — 15分ごと

表2-67 SQL Serverのロック・メトリック

メトリック 説明

SQL Serverのロックのカウンタ名(キー列)

パフォーマンス・メトリック名。表2-68を参照してください。

SQL Serverのロックのインスタンス名(キー列)

SQL Serverのロックのカウンタ名のインスタンス。

SQL Serverのロックのカウンタ値

パフォーマンス・メトリックの値。

「SQL Serverのロックのカウンタ名」のキー列には、複数のメトリックがあります。表2-68に、各メトリックとその説明を示します。

表2-68 SQL Serverのロックのカウンタ名メトリック

メトリック 説明

平均待機時間(ミリ秒)

待機になった各ロック・リクエストの平均待機時間(ミリ秒)。

平均待機時間のベース

パフォーマンス・カウンタ「平均待機時間」の比率が表す分数の分母(ベース)。

ロック・リクエスト/秒

ロック・マネージャから1秒当たりにリクエストされた新しいロックとロック変換の数。

ロックのタイムアウト/秒

NOWAITロックの内部リクエストを含む、1秒当たりにタイムアウトしたロック・リクエストの数。

ロックの待機/秒

ただちに処理することができず、コール元が待機する必要があった、1秒当たりのロック・リクエストの数。

ロックの待機時間(ミリ秒)

最後の1秒間のロックの合計待機時間(ミリ秒)。

デッドロック数/秒

デッドロックが発生した1秒当たりのロック・リクエストの数。