Microsoft SQL Server の SQLServer:Locks オブジェクトは、個々のリソースの種類に対する SQL Server ロックに関する情報を提供します。 ロックは、トランザクション中に読み取られた行や変更された行など、SQL Server リソースに保持され、異なるトランザクションによるリソースの同時使用を防ぎます。 たとえば、排他 (X) ロックがトランザクションによってテーブル内の行に保持されている場合、ロックが解除されるまで、他のトランザクションはその行を変更できません。 ロックを最小限に抑えると、コンカレンシーが向上し、パフォーマンスが向上する可能性があります。 Locks オブジェクトの複数のインスタンスを同時に監視でき、各インスタンスはリソースの種類のロックを表します。
次の表では、SQL Server ロック カウンターについて説明します。
SQL Server ロック カウンタ | 説明 |
---|---|
平均待機時間 (ミリ秒) | 待機が発生した各ロック要求の平均待機時間 (ミリ秒)。 |
ロック要求/秒 | ロック マネージャーから要求された 1 秒あたりの新しいロックとロック変換の数。 |
ロック タイムアウト (タイムアウト > 0)/秒 | タイムアウトした 1 秒あたりのロック要求の数ですが、NOWAIT ロックの要求は除きます。 |
ロックタイムアウト/秒 | 1 秒あたりにタイムアウトしたロック要求の数(NOWAIT ロックの要求を含む)。 |
Lock Wait Time (ms) | 最後の 1 秒のロックの合計待機時間 (ミリ秒)。 |
ロック待機/秒 | 呼び出し元が待機する必要がある 1 秒あたりのロック要求数。 |
1 秒当りのデッドロックの数 | デッドロックが発生した 1 秒あたりのロック要求の数。 |
SQL Server はこれらのリソースをロックできます。
アイテム | 説明 |
---|---|
_トータル | すべてのロックに関する情報。 |
AllocUnit | アロケーションユニットのロック。 |
アプリケーション | アプリケーション指定のリソースに対するロック。 |
データベース | データベース内のすべてのオブジェクトを含む、データベースのロック。 |
範囲 | 連続する8ページのグループに対するロック。 |
ファイル | データベース ファイルのロック。 |
ヒープ/BTree | ヒープまたは BTree (HOBT)。 データ ページのヒープまたはインデックスの BTree 構造体に対するロック。 |
鍵 | インデックス内の行に対するロック。 |
メタデータ | メタデータとも呼ばれるカタログ情報の一部に対するロック。 |
オブジェクト | テーブル、ストアド プロシージャ、ビューなどのロック (すべてのデータとインデックスを含む)。 オブジェクトには、 sys.all_objectsにエントリを含む任意のオブジェクトを指定できます。 |
ページ | データベース内の 8 KB ページのロック。 |
RID | 行 ID。 ヒープ内の 1 つの行に対するロック。 |