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.
Vonatkozik a következőkre: SQL Server 2016 (13.x) SP2 és későbbi verziók
Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
Visszaadja az összefoglaló szintű attribútumokat és az adatbázisok tranzakciós naplófájljairól szóló információkat. Ezeket az információkat használja a tranzakciónaplók állapotának monitorálására és diagnosztizálására.
Transact-SQL szintaxis konvenciók
Szemantika
sys.dm_db_log_stats ( database_id )
Arguments
database_id | NULL | ALAPÉRTELMEZETT
Az adatbázis azonosítója.
database_id az int. Az érvényes bemenetek az adatbázis azonosítószáma, NULLvagy DEFAULT. Az alapértelmezett érték a NULL.
NULL és DEFAULT ekvivalens értékek a jelenlegi adatbázis kontextusában.
Megadhatja a beépített DB_ID függvényt. Ha adatbázis név megadása nélkül használjuk DB_ID , a jelenlegi adatbázis kompatibilitási szintjének 90 vagy annál magasabbnak kell lennie.
Visszaküldött táblázatok
| Oszlop név | Adattípus | Description |
|---|---|---|
| database_id | int | Adatbázis-azonosító. Az Azure SQL Database-ben az értékek egyediek egyetlen adatbázisban vagy rugalmas készletben, de nem logikai kiszolgálón belül. |
| recovery_model | nvarchar(60) | Az adatbázis helyreállítási modellje. A lehetséges értékek a következők: EGYSZERŰ BULK_LOGGED TELJES |
| log_min_lsn | nvarchar(24) | A jelenlegi kezdőnapló sorszám (LSN) a tranzakciónaplóban. |
| log_end_lsn | nvarchar(24) | a tranzakciónapló utolsó napló naplójának napló napló sorozatszáma (LSN). |
| current_vlf_sequence_number | bigint | A jelenlegi virtuális naplófájl (VLF) sorozatszáma a végrehajtás idején. |
| current_vlf_size_mb | float | A jelenlegi virtuális naplófájl (VLF) mérete MB-ban. |
| total_vlf_count | bigint | A tranzakciónaplóban található virtuális naplófájlok (VLF) teljes száma. |
| total_log_size_mb | float | Teljes tranzakciós napló mérete MB-ben. |
| active_vlf_count | bigint | Az aktív virtuális naplófájlok (VLF) teljes száma a tranzakciónaplóban. |
| active_log_size_mb | float | Teljes aktív tranzakciós napló méret MB-ben. |
| log_truncation_holdup_reason | nvarchar(60) | Log csonkítás miatt kell tartani a gondolatot. Az érték ugyanaz, mint log_reuse_wait_desc az oszlop sys.databases. (Ezeknek az értékeknek a részletesebb magyarázatáért lásd a Tranzakciónaplót). A lehetséges értékek a következők: SEMMI CHECKPOINT LOG_BACKUP ACTIVE_BACKUP_OR_RESTORE ACTIVE_TRANSACTION Adatbázis tükrözés REPLIKÁCIÓ DATABASE_SNAPSHOT_CREATION LOG_SCAN AVAILABILITY_REPLICA OLDEST_PAGE XTP_CHECKPOINT EGYÉB ÁTMENETI |
| log_backup_time | datetime | Az utolsó tranzakciónapló mentési idő. |
| log_backup_lsn | nvarchar(24) | Utolsó tranzakciónapló biztonsági mentési napló sorozatszám (LSN). |
| log_since_last_log_backup_mb | float | A naplóméret MB-ben az utolsó tranzakciós napló biztonsági mentési napló sorozatszáma (LSN) óta. |
| log_checkpoint_lsn | nvarchar(24) | Utolsó ellenőrzőpont napló szekvenciaszám (LSN). |
| log_since_last_checkpoint_mb | float | Naplóméret MB-ben az utolsó ellenőrzőpont log szekvenciaszám (LSN) óta. |
| log_recovery_lsn | nvarchar(24) | Az adatbázis helyreállítási napló szekvenciaszáma (LSN ). Ha log_recovery_lsn az ellenőrzőpont előtt történik az LSN, log_recovery_lsn az a legrégebbi aktív tranzakció LSN, egyébként log_recovery_lsn az ellenőrzőpont LSN. |
| log_recovery_size_mb | float | A naplóméret MB-ben a log recovery log szekvencia szám (LSN) óta |
| recovery_vlf_count | bigint | A virtuális naplófájlok (VLF ) teljes száma, amelyeket vissza kell állítani, ha failover vagy szerver újraindítása történt. |
Megjegyzések
Amikor egy olyan adatbázis ellen futtatunk sys.dm_db_log_stats , amely másodlagos replikaként vesz részt egy Elérhetőségi Csoportban, csak a fent leírt mezők egy részhalmazát adják vissza. Jelenleg csak database_id, recovery_model, és log_backup_time jelenik meg, ha másodlagos adatbázis ellen futtatják.
Permissions
Az adatbázis engedélyére VIEW SERVER STATE van szükség.
Engedélyek az SQL Server 2022-hez és újabb verziókhoz
A KISZOLGÁLÓ TELJESÍTMÉNYÁLLAPOTÁNAK MEGTEKINTÉSE engedélyre van szükség a kiszolgálón.
Példák
A. Adatbázisok meghatározása SQL Server példányban, ahol nagy számú VLF van
A következő lekérdezés visszaadja azokat az adatbázisokat, amelyekben több mint 100 VLF van a naplófájlokban. A nagy számú VLF befolyásolhatja az adatbázis indítását, visszaállítását és helyreállítási idejét.
SELECT name AS 'Database Name', total_vlf_count AS 'VLF count'
FROM sys.databases AS s
CROSS APPLY sys.dm_db_log_stats(s.database_id)
WHERE total_vlf_count > 100;
B. Adatbázisok meghatározása SQL Server példányban, ahol 4 óránál régebbi tranzakciónaplók mentései vannak
A következő lekérdezés határozza meg az adatbázisok utolsó naplómentési idejét az instance-ban.
SELECT name AS 'Database Name', log_backup_time AS 'last log backup time'
FROM sys.databases AS s
CROSS APPLY sys.dm_db_log_stats(s.database_id);
Lásd még:
Dinamikus felügyeleti nézetek és függvények (Transact-SQL)
adatbázissal kapcsolatos dinamikus felügyeleti nézetek (Transact-SQL)
sys.dm_db_log_space_usage (Transact-SQL)
sys.dm_db_log_info (Transact-SQL)