Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Zobrazuje informace o In-Memory OLTP kontrolních souborech, včetně velikosti souboru, fyzické polohy a ID transakce.
Poznámka:
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.
SQL Server 2014 (12.x) se výrazně liší od novějších verzí a je diskutován v SQL Server 2014.
Pro více informací viz Vytváření a správa úložiště pro Memory-Optimized objekty.
SQL Server 2016 (13.x) a novější
Následující tabulka popisuje sloupce pro sys.dm_db_xtp_checkpoint_files, počínaje SQL Server 2016 (13.x).
| 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 - CÍL SLOUČENÍ 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ěží. CÍL SLOUČENÍ – Cíl operací slučování – tyto kontrolní soubory uchovávají konsolidované datové řádky ze zdrojových souborů, které byly identifikovány politikou sloučení. Jakmile je sloučení nainstalováno, MERGE TARGET přechází do aktivního stavu. ČEKÁNÍ NA ZKRÁCENÍ LOGŮ - Jakmile je sloučení nainstalováno a CÍLOVÝ CFP je součástí trvalého kontrolního bodu, soubory zdrojového kontrolního bodu 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. |
SQL Server 2014 (12.x)
Následující tabulka popisuje sloupce pro sys.dm_db_xtp_checkpoint_files, pro SQL Server 2014 (12.x).
| 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 datový nebo delta soubor. |
| checkpoint_file_id | GUID | ID datového nebo delta souboru. |
| relative_file_path | nvarchar(256) | Cesta k datovému nebo delta souboru vzhledem k umístění kontejneru. |
| file_type | tinyint | 0 pro datový soubor. 1 pro delta soubor. NULL pokud je sloupec stavu nastaven na 7. |
| popis_typu_souboru | nvarchar(60) | Typ souboru: DATA_FILE, DELTA_FILE, nebo NULL pokud je sloupec stavu nastaven na 7. |
| internal_storage_slot | int | Index souboru v interním úložném poli.
NULL pokud sloupec stavu není 2 nebo 3. |
| checkpoint_pair_file_id | uniqueidentifier | Odpovídající datový nebo delta soubor. |
| file_size_in_bytes | bigint | Velikost použitého souboru.
NULL pokud je sloupec stavu nastaven na 5, 6 nebo 7. |
| file_size_used_in_bytes | bigint | Použitá velikost použitého souboru.
NULL pokud je sloupec stavu nastaven na 5, 6 nebo 7.Pro páry souborů checkpointů, které jsou stále vyplňovány, se tento sloupec aktualizuje po dalším checkpointu. |
| inserted_row_count | bigint | Počet řádků v datovém souboru. |
| deleted_row_count | bigint | Počet smazaných řádků v souboru delta. |
| drop_table_deleted_row_count | bigint | Počet řádků v datových souborech ovlivněných tabulkou dropů. Platí to pro datové soubory, když je sloupec stavu rovn 1. Zobrazuje počet smazaných řádků z vyřazených tabulek. drop_table_deleted_row_count statistiky se sestavují poté, co je dokončena paměťová sběr řádků z odložených tabulek a je proveden kontrolní bod. Pokud restartujete SQL Server dříve, než se statistiky drop tabulek zobrazí v tomto sloupci, statistiky se aktualizují jako součást obnovy. Proces obnovy nenačítá řádky z nefunkčních tabulek. Statistiky pro ztracené tabulky jsou sestavovány během fáze načítání a po dokončení obnovy jsou v tomto sloupci hlášeny. |
| stav | int | 0 - PŘEDVYTVOŘENÉ 1 - VE VÝSTAVBĚ 2 - AKTIVNÍ 3 - CÍL SLOUČENÍ 4 - SLOUČENÝ ZDROJ 5 - POVINNÉ PRO ZÁLOHU/HA 6 - PŘECHOD K TOMBSTONE 7 - NÁHROBEK |
| state_desc | nvarchar(60) | PŘEDVYTVOŘENÉ – Malá sada datových a delta dvojic souborů, známých také jako páry checkpoint souborů (CFP), je uchovávána předalokována, aby se minimalizovalo nebo eliminovalo čekání na alokaci nových souborů během provádění transakcí. Jsou vytvořeny s velikostí datového souboru 128 MB a delta velikostí souboru 8 MB, ale neobsahují žádná data. Počet CFP se počítá jako počet logických procesorů nebo plánovačů (jeden na jádro, bez maxima) s minimálním počtem 8. Jedná se o pevnou režijní zátěž v databázích s tabulkami optimalizovanými pro paměť. VE VÝSTAVBĚ – Sada CFP, které uchovávají nově vložené a případně smazané datové řádky od posledního kontrolního bodu. ACTIVE - Tyto obsahují vložené a smazané řádky z předchozích uzavřených kontrolních bodů. Tyto CFP obsahují všechny potřebné vložené a smazané řádky potřebné před aplikací aktivní části transakčního logu při restartu databáze. Velikost těchto CFP bude přibližně dvojnásobná oproti velikosti tabulek optimalizovaných v paměti, za předpokladu, že operace slučování je aktuální s transakční zátěží. CÍL SLOUČENÍ – CFP ukládá konsolidované datové řádky z CFP(ů), které byly identifikovány politikou sloučení. Jakmile je sloučení nainstalováno, MERGE TARGET přechází do aktivního stavu. MERGED SOURCE - Jakmile je operace merge nainstalována, zdrojové CFP jsou označeny jako MERGED SOURCE. Poznámka: hodnotitel politiky sloučení může identifikovat více sloučení, ale CFP se může účastnit pouze jedné operace sloučení. POVINNOST ZÁLOHOVÁNÍ/HA - Jakmile je sloučení nainstalováno a CÍLOVÝ CFP je součástí trvalého kontrolního bodu, přecházejí CFP do tohoto stavu. CFP v tomto stavu jsou potřeba 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. CFP lze označit pro sběr odpadu, jakmile bod logaritmu oříznutí překročí rozsah transakce. PŘECHOD NA TOMBSTONE – Tyto CFP nejsou pro engine In-Memory OLTP potřeba a mohou být odvozovány jako odpad. Tento stav znamená, že tyto CFP čekají, až je vlákno na pozadí převede do dalšího stavu, kterým je TOMBSTONE. TOMBSTONE – Tyto CFP čekají na odvoz odpadu sběratelem ze souborů. (sp_filestream_force_garbage_collection (Transact-SQL)) |
| lower_bound_tsn | bigint | Dolní hranice transakcí obsažených ve souboru.
NULL pokud je sloupec stavu jiný než 2, 3 nebo 4. |
| upper_bound_tsn | bigint | Horní hranice transakcí obsažených ve souboru.
NULL pokud je sloupec stavu jiný než 2, 3 nebo 4. |
| last_backup_page_count | int | Logický počet stránek je určen při poslední záloze. Platí tehdy, když je sloupec stav nastaven na 2, 3, 4 nebo 5.
NULL pokud počet stran není znám. |
| delta_watermark_tsn | int | Transakce posledního kontrolního bodu, který zapisoval do tohoto delta souboru. Toto je vodoznak pro delta soubor. |
| last_checkpoint_recovery_lsn | nvarchar(23) | Sekvence logu obnovy posledního kontrolního bodu, který soubor stále potřebuje. |
| tombstone_operation_lsn | nvarchar(23) | Soubor bude smazán, jakmile tombstone_operation_lsn zaostává za logaritmickým číslem logu zkrácení. |
| logical_deletion_log_block_id | bigint | Platí pouze pro stát 5. |
Povolení
Vyžaduje VIEW DATABASE STATE oprávnění k databázi.
Oprávnění pro SQL Server 2022 a novější
Vyžaduje oprávnění ZOBRAZIT STAV VÝKONU DATABÁZE pro 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;