SQL Server の Transactions オブジェクト

適用対象:SQL Server

Microsoft SQL Server の Transactions オブジェクトには、データベース エンジンのインスタンスでアクティブになっているトランザクションの数を監視するカウンターと、スナップショット分離用の tempdb 内の行バージョン ストアなど、アクティブなトランザクションによるリソースへの影響を監視するためのカウンターがあります。 トランザクションは、論理的な 1 つの作業単位です。つまり、一連の操作であり、すべて成功するか、データの論理的な整合性を維持するためにデータベースからすべて消去されるかのいずれかの結果になります。 SQL Server データベース内のデータへの変更は、すべてトランザクションで行われます。

スナップショット分離レベルを使用できるようにデータベースを設定している場合は、データベース内の各行に加えられた変更の記録を SQL Server で管理する必要があります。 行が変更されるたびに、変更前の状態の行のコピーが tempdb 内の行バージョン ストアに記録されます。 Transaction オブジェクトの多くのカウンターは、tempdb 内の行バージョン ストアのサイズと増加率の監視に使用できます。

Transactions オブジェクトのカウンターは、データベース エンジンの 1 つのインスタンス内のすべてのトランザクションを報告します。

次の表では、 SQLServer:Transactions のカウンターについて説明します。

SQL Server Transactions のカウンター 説明
tempdb(KB)の空きスペース tempdb 内の使用可能な領域 (KB)。 スナップショット分離レベルのバージョン ストアと、データベース エンジンのこのインスタンスで作成された新しいすべての一時オブジェクトの両方を保持するには、十分な空き領域が必要です。
最長トランザクション実行時間 現在のトランザクションの中で最も長くアクティブになっているトランザクションが開始してから現在までの継続時間 (秒)。 このカウンターがアクティビティを示すのは、データベースが READ COMMITTED スナップショット分離レベルの場合のみです。 データベースが他の分離レベルの場合、アクティビティはログに記録されません。
ノンスナップショットバージョントランザクション スナップショット分離レベルを使用していない現在アクティブなトランザクションのうち、データ変更を行ったトランザクションの数。データを変更すると、tempdb のバージョン ストアに行バージョンが生成されます。
スナップショットトランザクション スナップショット分離レベルを使用している現在アクティブなトランザクションの数。

注: Snapshot Transactions オブジェクト カウンターは、 BEGIN TRANSACTION ステートメントが発行されたときではなく、最初のデータ アクセスが行われたときに応答します。
トランザクション 現在アクティブなトランザクションの数。すべての種類が含まれます。
コンフリクト比率の更新 この 1 秒間で更新の競合が発生した、スナップショット分離レベルを使用しているトランザクションの割合。 更新の競合が発生するのは、別のトランザクションによって最後に変更が行われ、スナップショット分離レベルのトランザクションの開始時にはコミットされていなかった行に対して、スナップショット分離レベルのトランザクションが変更を試行したときです。
紛争比率の基準を更新 内部使用のみ。
スナップショットトランザクションの更新 スナップショット分離レベルを使用し、データを変更した現在アクティブなトランザクションの数。
バージョンクリーンアップ速度(KB/s) tempdb 内のスナップショット分離用のバージョン ストアから行バージョンが削除される速度 (KB/秒)。
バージョン生成速度(KB/s) tempdb 内のスナップショット分離用のバージョン ストアに新しい行バージョンが追加される速度 (KB/秒)。
バージョンストアサイズ(KB) スナップショット分離レベルの行バージョンを格納するために使用される tempdb 内の領域 (KB)。
バージョンストアユニット数 tempdb 内のスナップショット分離用のバージョン ストアでアクティブになっているアロケーション ユニットの数。
バージョンストアユニット作成 データベース エンジンのインスタンスの起動後に、スナップショット分離用のストアで作成されたアロケーション ユニットの数。
バージョンストア単位の切り詰め データベース エンジンのインスタンスの起動後に、スナップショット分離用のストアから削除されたアロケーション ユニットの数。

sys.dm_os_performance_counters の動的管理ビューで次の T-SQL クエリを使用して、このオブジェクトのクエリ パフォーマンス カウンターの確認を開始します。

SELECT * FROM sys.dm_os_performance_counters
WHERE object_name LIKE '%Transactions%';