sys.dm_db_xtp_checkpoint_files (Transact-SQL)

platí pro: SQL Server Azure SQL DatabaseAzure SQL Managed Instance

Zobrazuje informace o In-Memory OLTP kontrolních souborech, včetně velikosti souboru, fyzické polohy a ID transakce.

Note

Pro aktuální kontrolní bod, který se nezavřel, bude sloupec stavu v sys.dm_db_xtp_checkpoint_files KONSTRUKCI pro nové soubory. Kontrolní bod se automaticky uzavře, když od posledního checkpointu dojde k dostatečnému růstu transakčního logu, nebo pokud zadáte CHECKPOINT příkaz. Další informace naleznete v tématu CHECKPOINT (Transact-SQL).

Paměťově optimalizovaná skupina souborů interně používá soubory pouze pro připojování k ukládání vložených a smazaných řádků pro tabulky v paměti. Existují dva typy souborů. Datový soubor obsahuje vložené řádky, zatímco delta soubor obsahuje odkazy na smazané řádky.

Pro více informací viz Vytváření a správa úložiště pro Memory-Optimized objekty.

Název sloupce Typ Description
container_id int ID kontejneru (reprezentovaného jako soubor s typem FILESTREAM v sys.database_files), jehož součástí je datový nebo delta soubor. Spojuje se s file_id in sys.database_files (Transact-SQL).
container_guid uniqueidentifier GUID kontejneru, jehož součástí je root, data nebo delta soubor. Přidává se ke file_guid stolu sys.database_files .
checkpoint_file_id uniqueidentifier GUID souboru checkpointu.
relative_file_path nvarchar(256) Cesta souboru vzhledem ke kontejneru, na který je mapován.
file_type smallint -1 zdarma

0 pro soubor DATA.

1 pro soubor DELTA.

2 pro ROOT soubor

3 pro soubor LARGE DATA
popis_typu_souboru nvarchar(60) ZDARMA – Všechny soubory spravované jako ZDARMA jsou k dispozici pro přidělení. Volné soubory se mohou lišit velikostí v závislosti na očekávaných potřebách systému. Maximální velikost je 1 GB.

DATA - Datové soubory obsahují řádky vložené do tabulek optimalizovaných pro paměť.

DELTA - Delta soubory obsahují odkazy na řádky v datových souborech, které byly smazany.

ROOT - Kořenové soubory obsahují systémová metadata pro paměťově optimalizované a nativně kompilované objekty.

VELKÁ DATA – Velké datové soubory obsahují hodnoty vložené ve sloupcích (n)varchar(max) a varbinary(max), stejně jako sloupcové segmenty, které jsou součástí indexů úložiště sloupců v tabulkách optimalizovaných pro paměť.
internal_storage_slot int Index souboru v interním úložném poli. NULL pro ROOT nebo pro stav jiný než 1.
checkpoint_pair_file_id uniqueidentifier Odpovídající soubor DATA nebo DELTA. NULL pro ROOT.
file_size_in_bytes bigint Velikost souboru na disku.
file_size_used_in_bytes bigint Pro páry souborů checkpointů, které jsou stále vyplňovány, se tento sloupec aktualizuje po dalším checkpointu.
logical_row_count bigint Pro Data počet vložených řádků.

Pro Deltu, počet řádků smazaných po zohlednění tabulky dropů.

Pro Root, NULL.
stav smallint 0 - PŘEDVYTVOŘENÉ

1 - VE VÝSTAVBĚ

2 - AKTIVNÍ

3 - MERGE CÍL

8 - ČEKÁNÍ NA OŘEZÁVÁNÍ LOGARITMU
state_desc nvarchar(60) PŘEDVYTVOŘENO - Několik kontrolních bodů je předalokováno, aby se minimalizovalo nebo eliminovalo čekání na alokaci nových souborů během provádění transakcí. Tyto soubory se mohou lišit velikostí a vytvářejí se podle odhadovaných potřeb pracovního zatížení. Neobsahují žádná data. Jedná se o režijní zátěž v databázích s MEMORY_OPTIMIZED_DATA souborovou skupinou.

VE VÝVOJI – Tyto soubory kontrolních bodů jsou ve fázi výstavby, což znamená, že jsou vyplňovány na základě záznamů v logu generovaných databází a zatím nejsou součástí žádného kontrolního bodu.

AKTIVNÍ - Tyto obsahují vložené/smazané řádky z předchozích uzavřených kontrolních bodů. Obsahují obsah tabulek, které se načtou do paměti před aplikací aktivní části transakčního logu při restartu databáze. Očekáváme, že velikost těchto checkpointových souborů bude přibližně 2x větší než velikost paměťově optimalizovaných tabulek, za předpokladu, že operace slučování drží krok s transakční zátěží.

MERGE TARGET – Cíl operací sloučení – tyto kontrolní body uchovávají konsolidované datové řádky ze zdrojových souborů, které byly identifikovány politikou sloučení. Jakmile je sloučení nainstalováno, TARGET přechází MERGE do AKTIVNÍHO stavu.

ČEKÁNÍ NA ZKRÁCENÍ LOGŮ - Jakmile je sloučení nainstalováno a TARGET MERGE CFP je součástí trvalého kontrolního bodu, soubory zdrojového checkpointu merge přecházejí do tohoto stavu. Soubory v tomto stavu jsou nezbytné pro provozní správnost databáze s tabulkou optimalizovanou pro paměť. Například se zotavit z trvalého kontrolního bodu a vrátit se v čase.
lower_bound_tsn bigint Dolní hranice transakce v souboru; NULL pokud není uvedeno v (1, 3).
upper_bound_tsn bigint Horní hranice transakce v souboru; NULL pokud není uvedeno v (1, 3).
begin_checkpoint_id bigint Identifikace výchozího kontrolního bodu.
end_checkpoint_id bigint Identifikace koncového kontrolního bodu.
last_updated_checkpoint_id bigint ID posledního kontrolního bodu, který aktualizoval tento soubor.
encryption_status smallint 0, 1, 2
encryption_status_desc nvarchar(60) 0 => NEŠIFROVANÉ

1 => ZAŠIFROVÁNO KLÍČEM 1

2 => ZAŠIFROVÁNO KLÍČEM 2. Platí pouze pro aktivní soubory.

Povolení

Vyžaduje VIEW DATABASE STATE oprávnění k databázi.

Oprávnění pro SQL Server 2022 a novější

Vyžaduje VIEWDATABASE povolení STAV VÝKONU v databázi.

Případy použití

Celkovou spotřebu paměti In-Memory OLTP můžete odhadnout následovně:

-- total storage used by In-Memory OLTP  
SELECT SUM (file_size_in_bytes)/(1024*1024) as file_size_in_MB  
FROM sys.dm_db_xtp_checkpoint_files;

Pro rozpis využití úložiště podle stavu a typu souboru spusťte následující dotaz:

SELECT state_desc  
 , file_type_desc  
 , COUNT(*) AS [count]  
 , SUM(file_size_in_bytes) / 1024 / 1024 AS [on-disk size MB]   
FROM sys.dm_db_xtp_checkpoint_files  
GROUP BY state, state_desc, file_type, file_type_desc  
ORDER BY state, file_type;