Microsoft SQL Server の Transactions オブジェクトには、データベース エンジンのインスタンスでアクティブなトランザクションの数と、 tempdb のスナップショット分離行バージョン ストアなどのリソースに対するそれらのトランザクションの影響を監視するためのカウンターが用意されています。 トランザクションは論理作業単位です。データの論理的な整合性を維持するために、データベースからすべて成功するかすべて消去する必要がある一連の操作。 SQL Server データベース内のデータのすべての変更は、トランザクションで行われます。
スナップショット分離レベルを許可するようにデータベースが設定されている場合、SQL Server では、データベース内の各行に加えられた変更のレコードを保持する必要があります。 行が変更されるたびに、変更前の行のコピーが tempdb の行バージョン ストアに記録されます。 Transaction オブジェクトのカウンターの多くは、tempdb の行バージョン ストアのサイズと増加率を監視するために使用できます。
Transactions オブジェクト カウンターは、データベース エンジンの 1 つのインスタンス内のすべてのトランザクションを報告します。
次の表では、 SQLServer:Transactions カウンターについて 説明します。
SQL Server トランザクション カウンター | 説明 |
---|---|
tempdb の空き領域 (KB) | tempdb で使用できる領域の量 (KB 単位)。 スナップショット分離レベルのバージョン ストアと、データベース エンジンのこのインスタンスで作成されたすべての新しい一時オブジェクトの両方を保持するのに十分な空き領域が必要です。 |
最も長いトランザクションの実行時間 | 他の現在のトランザクションよりも長くアクティブになっているトランザクションの開始からの時間 (秒単位)。 このカウンターには、データベースが読み取りコミットされたスナップショット分離レベルの下にある場合にのみ、アクティビティが表示されます。 データベースが他の分離レベルにある場合、アクティビティはログに記録されません。 |
非スナップショットバージョン取引 | スナップショット分離レベルを使用せず、 tempdb バージョン ストアで行バージョンを生成したデータ変更を行った現在アクティブなトランザクションの数。 |
スナップショット トランザクション | スナップショット分離レベルを使用している現在アクティブなトランザクションの数。 注: Snapshot Transactions オブジェクト カウンターは、 BEGIN TRANSACTION ステートメントが発行されたときではなく、最初のデータ アクセスが発生したときに応答します。 |
トランザクション | すべての種類の現在アクティブなトランザクションの数。 |
更新プログラムの競合率 | スナップショット分離レベルを使用するトランザクションのうち、最後の 1 秒以内に更新の競合が発生したトランザクションの割合。 スナップショット分離レベルのトランザクションが、スナップショット分離レベルのトランザクションの開始時にコミットされなかった別のトランザクションによって最後に変更された行を変更しようとすると、更新の競合が発生します。 |
スナップショット トランザクションの更新 | スナップショット分離レベルを使用し、データが変更されている現在アクティブなトランザクションの数。 |
バージョン クリーンアップ率 (KB/秒) | tempdb のスナップショット分離バージョン ストアから行バージョンが削除される速度 (KB/秒)。 |
バージョン生成率 (KB/秒) | tempdb のスナップショット分離バージョン ストアに新しい行バージョンが追加される速度 (KB/秒)。 |
バージョン ストア サイズ (KB) | スナップショット分離レベルの行バージョンの格納に使用される tempdb の領域 (KB 単位)。 |
バージョン ストアのユニット数 | tempdb のスナップショット分離バージョン ストア内のアクティブな割り当てユニットの数。 |
バージョン ストアユニットの作成 | データベース エンジンのインスタンスが開始されてからスナップショット分離ストアに作成された割り当てユニットの数。 |
バージョン ストア ユニットの切り捨て | データベース エンジンのインスタンスが開始されてからスナップショット分離ストアから削除された割り当てユニットの数。 |