sys.dm_db_xtp_gc_cycle_stats (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance
1 つ以上の行を削除したコミット済みトランザクションの現在の状態を出力します。 アイドル状態のガベージ コレクション スレッドは、1 分ごとに、またはコミットされた DML トランザクションの数が、最後のガベージ コレクション サイクル以降の内部しきい値を超えたときにウェイクします。 ガベージ コレクション サイクルの一環として、コミットされたトランザクションは世代に関連付けられている 1 つ以上のキューに移動します。 古いバージョンを生成したトランザクションは、次のように、16 世代にわたって 16 個のトランザクションの単位でグループ化されます。
generation 0: 最も古いアクティブなトランザクションより前にコミットされたトランザクションがすべて格納されます。 これらのトランザクションによって生成された行バージョンは、ガベージ コレクションにすぐに使用できます。
ジェネレーション 1 から 14: 最も古いアクティブなトランザクションよりタイムスタンプが大きいトランザクションを格納します。 行バージョンに対してガベージ コレクションを実行することはできません。 各世代は、最大 16 個のトランザクションを保持できます。 これらの世代には、合計 224 (14 * 16) のトランザクションが存在できます。
generation 15: 最も古いアクティブなトランザクションより後のタイムスタンプを持つ、残りのトランザクションは generation 15 に格納されます。 generation 0 と同様、generation 15 にもトランザクション数の制限はありません。
メモリが不足している場合、ガベージ コレクション スレッドは、最も古いアクティブなトランザクションのヒントを積極的に更新します。これにより、ガベージ コレクションが強制されます。
詳細については、「 インメモリ OLTP (インメモリ最適化)」を参照してください。
列名 | 種類 | 説明 |
---|---|---|
cycle_id |
bigint | ガベージ コレクション サイクルの一意識別子。 |
ticks_at_cycle_start |
bigint | サイクルが開始された時点でのティック。 |
ticks_at_cycle_end |
bigint | サイクルが終了した時点でのティック。 |
base_generation |
bigint | データベース内の現在の基本生成値。 これは、ガベージ コレクションのトランザクションを識別するために使用される最も古いアクティブなトランザクションのタイムスタンプを表します。 最も古いアクティブなトランザクション ID は、16 ずつ更新されます。 たとえば、トランザクション ID が 124、125、126 ...139、値は 124 です。 別のトランザクション (たとえば 140) を追加すると、値は 140 になります。 |
xacts_copied_to_local |
bigint | トランザクションのパイプラインからデータベースの generation 配列にコピーされたトランザクションの数 |
xacts_in_gen_0 - xacts_in_gen_15 |
bigint | generation ごとのトランザクションの数 |
アクセス許可
データベースに対する VIEW DATABASE STATE 権限が必要です。
SQL Server 2022 以降でのアクセス許可
データベースに対する VIEW DATABASE PERFORMANCE STATE アクセス許可が必要です。
使用シナリオ
列のサブセットを含むサンプル出力を次に示します。27 世代を示します。
cycle_id ticks_at_cycle_start ticks_at_cycle_end base_generation xacts_in_gen_0 xacts_in_gen_1
1 123160509 123160509 1 0 0
2 123176822 123176822 1 0 1
3 123236826 123236826 1 0 1
4 123296829 123296829 1 0 1
5 123356832 123356941 129 0 0
6 123357473 123357473 129 0 0
7 123417486 123417486 129 0 0
8 123477489 123477489 129 0 0
9 123537492 123537492 129 0 0
10 123597500 123597500 129 0 0
11 123657504 123657504 129 0 0
12 123717507 123717507 129 0 0
13 123777510 123777510 129 0 0
14 123837513 123837513 129 0 0
15 123897516 123897516 129 0 0
16 123957516 123957516 129 0 0
17 124017516 124017516 129 0 0
18 124077517 124077517 129 0 0
19 124137517 124137517 129 0 0
20 124197518 124197518 129 0 0
21 124257518 124257518 129 0 0
22 124317523 124317523 129 0 0
23 124377526 124377526 129 0 0
24 124437529 124437529 129 0 0
25 124497533 124497533 129 0 0
26 124557536 124557536 129 0 0
27 124617539 124617539 129 0 0