Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Megjeleníti In-Memory OLTP ellenőrzőpont fájlokról szóló információkat, beleértve a fájlméretet, fizikai helyet és a tranzakcióazonosítót.
Megjegyzés:
A jelenleg nem zárt ellenőrzőpontnál az állapotoszlop sys.dm_db_xtp_checkpoint_files új fájlokhoz ÉPÍTÉS alatt lesz. Az ellenőrzőpont automatikusan bezárul, ha elegendő tranzakciónapló növekedés van az utolsó ellenőrzőpont óta, vagy ha kiadod a CHECKPOINT parancsot. További információ: CHECKPOINT (Transact-SQL).
Egy memóriaoptimalizált fájlcsoport belsőleg csak csatolt fájlokat használ a beillesztett és törölt sorok tárolására a memórián belüli táblákhoz. Kétféle fájl létezik. Egy adatfájl beillesztett sorokat tartalmaz, míg a delta fájl a törölt sorokra vonatkozó hivatkozásokat tartalmazza.
Az SQL Server 2014 (12.x) jelentősen eltér a újabb verzióktól, és az SQL Server 2014-ben is tárgyalják.
További információért lásd: Tárolás létrehozása és kezelése Memory-Optimized objektumokhoz.
SQL Server 2016 (13.x) és újabbá
Az alábbi táblázat az oszlopokat írja le , sys.dm_db_xtp_checkpoint_filesaz SQL Server 2016 (13.x) típussal kezdve.
| Oszlop név | Típus | Description |
|---|---|---|
| container_id | int | Az adott konténer azonosítója (amely fájl típusa FILESTREAM in sys.database_files) tartalmazza, amelyhez az adat vagy delta fájl tartozik. Csatlakozik sys.database_files-ben file_id(Transact-SQL). |
| container_guid | uniqueidentifier | A Container GUID-je, amelynek része a gyökér, adat vagy delta fájl. Csatlakozik file_guid az sys.database_files asztalhoz. |
| checkpoint_file_id | uniqueidentifier | Az ellenőrzőpont fájljának GUID-je. |
| relative_file_path | nvarchar(256) | A fájl útja a konténerhez képest, amelyhez leképezve. |
| file_type | smallint | -1 INGYEN 0 az DATA fájlhoz. 1 a DELTA fájlhoz. 2 a ROOT fájlhoz 3 a NAGY ADATFÁJLHOZ |
| fájltípus_leírás | nvarchar(60) | INGYENES – Minden INGYENESKÉNT fenntartott fájl elérhető az elosztáshoz. Az ingyenes fájlok mérete változó lehet a rendszer által várt igényektől függően. A maximális méret 1 GB. DATA – Az adatfájlok olyan sorokat tartalmaznak, amelyeket memóriaoptimalizált táblákba helyeztek be. DELTA - A delta fájlok hivatkozásokat tartalmaznak az adatfájlokban törölt sorokra. ROOT - A gyökérfájlok tartalmaznak rendszermetaadatokat a memóriaoptimalizált és natívan fordított objektumokhoz. NAGY ADAT – A nagy adatfájlok értékeket tartalmaznak, amelyeket (n)varchar(max) és varbinary(max) oszlopokba helyeznek be, valamint azokat az oszlopszegmenseket, amelyek a memóriaoptimalizált táblák oszloptároló indexeinek részei. |
| internal_storage_slot | int | A fájl indexe a belső tároló tömbben.
NULL ROOT esetén vagy más állapot esetén, mint 1. |
| checkpoint_pair_file_id | uniqueidentifier | Megfelelő DATA vagy DELTA fájl.
NULL a ROOT-hoz. |
| file_size_in_bytes | bigint | A lemezen lévő fájl mérete. |
| file_size_used_in_bytes | bigint | Azok ellenőrzőpont-fájlpárjai esetén, amelyek még fel vannak töltve, ezt az oszlopot a következő ellenőrzőpont után frissítik. |
| logical_row_count | bigint | Adat esetén a beillesztett sorok száma. A Delta esetében a törlés sorainak száma a drop table elszámítása után. Root esetében NULL. |
| state | smallint | 0 - ELŐRE LÉTREHOZOTT 1 - ÉPÍTÉS ALATT 2 - AKTÍV 3 - CÉL ÖSSZEVONÁSA 8 - LOG LEVÁGÁSRA VÁRÁS |
| állapot_leírás | nvarchar(60) | ELŐRE LÉTREHOZVA – Számos ellenőrzőpont-fájlt előre elosztottak, hogy minimalizálják vagy megszüntetik az új fájlok kiosztására szükséges várakozást a tranzakciók végrehajtása közben. Ezek a fájlok méretük változó lehet, és a munkaterhelés becsült igényeitől függően hozhatók létre. Nincsenek adatok. Ez egy tárolási túlterhelés adatbázisokban, ahol MEMORY_OPTIMIZED_DATA fájlcsoport. ÉPÍTÉS ALATT - Ezek az ellenőrzőpont-fájlok építés alatt állnak, vagyis az adatbázis által generált naplók alapján töltik fel őket, és még nem részei egy ellenőrzőpontnak. ACTIVE – Ezek tartalmazzák a korábbi zárt ellenőrzőpontokból beillesztett/törölt sorokat. Ezek tartalmazzák azokat a táblák tartalmát, amelyeket a memóriába olvasnak, mielőtt az adatbázis újraindítása során a tranzakciónapló aktív részét alkalmaznák. Várhatóan ezeknek az ellenőrzőpontok méretének körülbelül kétszerese lesz a memóriaoptimalizált táblák memórián belüli méretének, feltéve, hogy az összevonási művelet lépést tart a tranzakciós terheléssel. MERGE CÉL – Az egyesítési műveletek célpontja – ezek az ellenőrzőpontok tárolják a forrásfájlokból származó konszolidált adatsorokat, amelyeket az egyesítési szabályzat azonosított. Miután a merge telepített, a MERGE TARGET aktív állapotba kerül. LOG TRUNKÁLÁSRA VÁRÁS – Miután a merge telepítve lett, és a MERGE TARGET CFP a tartós ellenőrzőpont része, az egyesülés forrás ellenőrzőpont fájlok átalakulnak ebbe az állapotba. Ebben az állapotban lévő fájlok szükségesek az adatbázis működési helyességéhez memóriaoptimalizált táblázattal. Például egy tartós ellenőrzőpontból való visszamehetés az időben. |
| lower_bound_tsn | bigint | A tranzakció alsó határa a fájlban; NULL ha az állapot nem az (1, 3) betűben. |
| upper_bound_tsn | bigint | A tranzakció felső határa a fájlban; NULL ha az állapot nem az (1, 3) betűben. |
| begin_checkpoint_id | bigint | A kezdő ellenőrzőpont azonosítója. |
| end_checkpoint_id | bigint | A végpont azonosítója. |
| last_updated_checkpoint_id | bigint | Az utolsó ellenőrzőpont azonosítója, amely frissítette ezt a fájlt. |
| encryption_status | smallint | 0, 1, 2 |
| encryption_status_desc | nvarchar(60) | 0 => TITKOSÍTÁS NÉLKÜLI 1 => TITKOSÍTVA 1 KULCCSAL 2 => TITKOSÍTVA 2 KULCCSAL. Csak aktív fájlokra érvényes. |
SQL Server 2014 (12.x)
Az alábbi táblázat az SQL Server 2014 (12.x) oszlopait sys.dm_db_xtp_checkpoint_filesírja le , számára.
| Oszlop név | Típus | Description |
|---|---|---|
| container_id | int | Az adott konténer azonosítója (amely fájl típusa FILESTREAM in sys.database_files) tartalmazza, amelyhez az adat vagy delta fájl tartozik. Csatlakozik sys.database_files-ben file_id(Transact-SQL). |
| container_guid | uniqueidentifier | Az a konténer, amelynek része az adat vagy delta fájl. |
| checkpoint_file_id | GUID | Az adat vagy delta fájl azonosítója. |
| relative_file_path | nvarchar(256) | Az adathoz vagy a delta fájlhoz vezető út, a konténer helyéhez viszonyítva. |
| file_type | tinyint | 0 az adatfájlhoz. 1 a delta fájlhoz. NULL ha az állapotoszlop 7-re van beállítva. |
| fájltípus_leírás | nvarchar(60) | A fájl típusa: DATA_FILE, DELTA_FILE, vagy NULL ha az állapotoszlop 7-re van állítva. |
| internal_storage_slot | int | A fájl indexe a belső tároló tömbben.
NULL ha az állapotoszlop nem 2 vagy 3. |
| checkpoint_pair_file_id | uniqueidentifier | A megfelelő adat vagy delta fájl. |
| file_size_in_bytes | bigint | A használt fájl mérete.
NULL ha az állapotoszlop 5, 6 vagy 7 értékű. |
| file_size_used_in_bytes | bigint | A fájl mérete a használt fájl felhasználása.
NULL ha az állapotoszlop 5, 6 vagy 7 értékű.Azok ellenőrzőpont-fájlpárjai esetén, amelyek még fel vannak töltve, ezt az oszlopot a következő ellenőrzőpont után frissítik. |
| inserted_row_count | bigint | A sorok száma az adatfájlban. |
| deleted_row_count | bigint | A delta fájlban törölt sorok száma. |
| drop_table_deleted_row_count | bigint | Az adatfájlokban szereplő sor száma, amelyeket egy drop table érint. Adatfájlokra vonatkozik, ha az állapotoszlop 1-gy. Megmutatja a törölt sorszámokat az elhagyott táblákból. A drop_table_deleted_row_count statisztikákat akkor állítják össze, amikor a ledobott táblá(k) sorainak memóriahulladékgyűjtése befejeződött, és egy ellenőrzőpontot tartanak ki. Ha újraindítod az SQL Servert, mielőtt a drop tables statisztikák ebben az oszlopban megjelennek, a statisztikák a helyreállítás részeként frissülnek. A helyreállítási folyamat nem tölt be sorokat az elhagyott táblákból. Az elhagyott táblák statisztikáit a terhelési fázisban állítják össze, és a helyreállítás befejezésekor ebben az oszlopban jelentenek. |
| state | int | 0 - ELŐRE LÉTREHOZOTT 1 - ÉPÍTÉS ALATT 2 - AKTÍV 3 - CÉL ÖSSZEVONÁSA 4 - ÖSSZEVONT FORRÁS 5 - KÖTELEZŐ A MENTÉS/HA 6 - AZ ÁTMENET A TOMBSTONE-HOZ 7 - SÍRKŐ |
| állapot_leírás | nvarchar(60) | ELŐRE LÉTREHOZOTT – Egy kis adat- és delta fájlpárok, más néven ellenőrzőpont-fájlpárok (CFP-k) előre elosztottak, hogy minimalizálják vagy megszüntetjék az új fájlok kiosztására szükséges várakozást a tranzakciók végrehajtása közben. A fájl mérete 128 MB, delta fájl mérete 8 MB volt, de nem tartalmaznak adatokat. A CFP-k számát a logikai processzorok vagy ütemezők száma (egy magonként, maximummentes) számoljuk, minimum 8 volt. Ez fix tárolási túlterhelés az adatbázisokban, ahol memóriaoptimalizált táblázatok vannak. ÉPÍTÉS ALATT - CFP-k halmaza, amely az utolsó ellenőrzőpont óta újonnan beillesztett és esetleg törölt adatsorokat tárolja. AKTÍV – Ezek tartalmazzák a korábbi zárt ellenőrzőpontokból beillesztett és törölt sorokat. Ezek a CFP-k tartalmazzák az összes szükséges beillesztett és törölt sort, amely az adatbázis újraindítása során a tranzakciónapló aktív részének alkalmazása előtt szükséges. Ezeknek a CFP-knek a mérete körülbelül kétszerese a memóriaoptimalizált táblák memórián belüli méretének, feltéve, hogy az egyesítési művelet aktuális a tranzakciós munkaterheléssel. ÖSSZEOLVADÁS CÉL – A CFP tárolja azokat a CFP(k)-k konszolidált adatsorait, amelyeket az egyesítési politika azonosított. Miután a merge telepített, a MERGE TARGET aktív állapotba kerül. ÖSSZEVONT FORRÁS – Miután a merge művelet beépült, a forrás CFP-k MERGED SOURCE-ként vannak jelölve. Megjegyzendő, hogy a fúziós politika értékelő több egyesülést is azonosíthat, de a CFP csak egy egyesülési műveletben veszhet részt. KÖTELEZŐ A MENTÉSHEZ/HA – Miután a merge telepítésre került, és a MERGE TARGET CFP a tartós ellenőrzőpont része, az egyesülési forrás CFP-k átalakulnak ebbe az állapotba. Ebben az állapotban CFP-kre van szükség az adatbázis működési helyességének érdekében memóriaoptimalizált táblázattal. Például egy tartós ellenőrzőpontból való visszamehetés az időben. A CFP-t szemétgyűjtésre lehet jelölni, ha a napló csorkítási pontja túllép a tranzakciós tartományon. ÁTMENETBEN A TOMBSTONE-HOZ – EZEKRE A CFP-KRE A In-Memory OLTP MOTOR NEM IGÉNYEL, ÉS SZEMÉTGYŰJTŐK LEHETNEK. Ez az állapot azt jelzi, hogy ezek a CFP-k arra várnak, hogy a háttérszál áthelyezze őket a következő állapotba, amely a TOMBSTONE. TOMBSTONE – Ezek a CFP-k arra várnak, hogy a filestream hulladékgyűjtő szemetet gyűjtsön. (sp_filestream_force_garbage_collection (Transact-SQL)) |
| lower_bound_tsn | bigint | A fájlban szereplő tranzakciók alsó határa.
NULL ha az állapotoszlop eltér a 2-től, 3-tól vagy 4-től. |
| upper_bound_tsn | bigint | A fájlban található tranzakciók felső határa.
NULL ha az állapotoszlop eltér a 2-től, 3-tól vagy 4-től. |
| last_backup_page_count | int | Logikai oldalszám, amely a végső mentésnél határozzák meg. Akkor érvényes, ha az állapotoszlop 2, 3, 4 vagy 5 értékű.
NULL ha az oldalszám nem ismert. |
| delta_watermark_tsn | int | Az utolsó ellenőrzőpont tranzakciója, amely erre a delta fájlra írt. Ez a delta fájl vízjele. |
| last_checkpoint_recovery_lsn | nvarchar(23) | Az utolsó ellenőrzőpont helyreállítási naplójának száma, amelyhez még szükség van a fájlra. |
| tombstone_operation_lsn | nvarchar(23) | A fájlt töröljük, ha a tombstone_operation_lsn lemarad a log csonkítási napló szekvencia száma mögött. |
| logical_deletion_log_block_id | bigint | Csak az 5-ös államra vonatkozik. |
Permissions
Az adatbázishoz VIEW DATABASE STATE engedély szükséges.
Engedélyek az SQL Server 2022-hez és újabb verziókhoz
Az adatbázishoz a VIEW DATABASE PERFORMANCE STATE engedélyre van szükség.
Használati esetek
Az OLTP által használt teljes tároló mennyisége In-Memory következőképpen becsülhető:
-- 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;
A tárolóhasználat állapot és fájltípus szerinti bontásához a következő lekérdezést hajtsa végre:
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;
Kapcsolódó tartalom
- Bevezetés a Memory-Optimized-táblák használatába
- Memory-Optimized Table dinamikus menedzsment nézetek
- In-Memory OLTP áttekintése és használati forgatókönyvek
- Teljesítmény optimalizálása memóriabeli technológiákkal az Azure SQL Database
- Teljesítmény optimalizálása memóriabeli technológiákkal a felügyelt Azure SQL-példányokban