sys.dm_db_xtp_gc_cycle_stats (Transact-SQL)

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Ger ut det aktuella tillståndet för committerade transaktioner som raderade en eller flera rader. Den inaktiva tråden för skräpsamling vaknar varje minut eller när antalet committerade DML-transaktioner överstiger en intern tröskel sedan senaste skräpsamlingscykeln. Som en del av skräpsamlingscykeln flyttas committerade transaktioner in i en eller flera köer kopplade till generationer. De transaktioner som genererade föråldrade versioner grupperas i en enhet om 16 transaktioner över 16 generationer enligt följande:

  • Generation-0: Detta lagrar alla transaktioner som gjort tidigare än den äldsta aktiva transaktionen. Radversioner som genereras av dessa transaktioner är omedelbart tillgängliga för skräpsamling.

  • Generationerna 1-14: Lagrar transaktioner med tidsstämpel som är större än den äldsta aktiva transaktionen. Radversionerna kan inte samlas in som skräphämtare. Varje generation kan rymma upp till 16 transaktioner. Totalt kan det finnas 224 (14 * 16) transaktioner i dessa generationer.

  • Generation 15: De återstående transaktionerna med tidsstämpel som är högre än den äldsta aktiva transaktionen går till generation 15. Liknande generation-0 finns det ingen gräns för antal transaktioner i generation-15.

När det finns minnespress uppdaterar tråden för garbage collection-tråden den äldsta aktiva transaktionshinten aggressivt, vilket tvingar fram garbage collection.

Mer information finns i In-Memory OLTP (In-Memory Optimization).

Kolumnnamn Typ Description
cycle_id bigint En unik identifierare för sophämtningscykeln.
ticks_at_cycle_start bigint Ticks när cykeln började.
ticks_at_cycle_end bigint Ticks när cykeln tog slut.
base_generation bigint Det aktuella basgenereringsvärdet i databasen. Detta representerar tidsstämpeln för den äldsta aktiva transaktionen som används för att identifiera transaktioner för skräpsamling. Det äldsta aktiva transaktions-ID:t uppdateras i intervallet 16. Till exempel, om du har transaktions-ID som 124, 125, 126 ... 139, värdet är 124. När du lägger till en annan transaktion, till exempel 140, blir värdet 140.
xacts_copied_to_local bigint Antalet transaktioner som kopieras från transaktionspipelinen till databasens genereringsarray.
xacts_in_gen_0 - xacts_in_gen_15 bigint Antal transaktioner i varje generation.

Permissions

Kräver behörigheten VIEW DATABASE STATE (VISA DATABASTILLSTÅND) för databasen.

Behörigheter för SQL Server 2022 och senare

Kräver behörigheten VISA DATABASPRESTANDATILLSTÅND för databasen.

Användningsscenario

Här är ett exempel på utdata med en delmängd kolumner, som visar 27 generationer:

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