Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Database
Azure 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