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í na: SQL Server 2016 (13.x) SP2 a pozdější verze
Azure SQL Database
Azure SQL Managed Instance
SQL database in Microsoft Fabric
Funkce sys.dm_db_log_stats dynamické správy vrací atributy souhrnné úrovně a informace o souborech transakčních protokolů databází. Tyto informace použijte pro monitorování a diagnostiku stavu transakčních logů.
Syntax
sys.dm_db_log_stats ( database_id )
Argumenty
{ database_id | NULL | DEFAULT }
ID databáze.
database_id je int. Platné vstupy jsou číslo ID databáze, NULLnebo DEFAULT. Výchozí hodnota je NULL.
NULL a DEFAULT jsou ekvivalentní hodnoty v kontextu aktuální databáze.
Můžete také zadat předdefinované DB_ID funkce pro database_id.
Vrácené tabulky
| Název sloupce | Datový typ | Description |
|---|---|---|
database_id |
int | ID databáze. Ve službě Azure SQL Database jsou hodnoty jedinečné v rámci jedné databáze nebo elastického fondu, ale ne v rámci logického serveru. |
recovery_model |
nvarchar(60) | Model obnovy databáze. Mezi možné hodnoty patří:SIMPLEBULK_LOGGEDFULL |
log_min_lsn
1 |
nvarchar(24) | Aktuální počáteční pořadové číslo protokolu (LSN) v transakčním protokolu. |
log_end_lsn
1 |
nvarchar(24) | pořadové číslo protokolu (LSN) posledního záznamu protokolu v transakčním protokolu. |
current_vlf_sequence_number
2 |
bigint | Aktuální pořadové číslo souboru virtuálního protokolu (VLF) v době provádění |
current_vlf_size_mb
2 |
float | Aktuální velikost souboru virtuálního protokolu (VLF) v MB. |
total_vlf_count
2 |
bigint | Celkový počet souborů virtuálních protokolů (VLF) v transakčním protokolu. |
total_log_size_mb |
float | Celková velikost transakčního logu v MB. |
active_vlf_count
2 |
bigint | Celkový počet aktivních souborů virtuálních protokolů (VLF) v transakčním protokolu. |
active_log_size_mb |
float | Celková velikost aktivního transakčního logu v MB. |
log_truncation_holdup_reason |
nvarchar(60) | Důvod zdržení logaritmu zkrácení. Hodnota je stejná jako log_reuse_wait_desc sloupec .sys.databases (Podrobnější vysvětlení těchto hodnot najdete v transakčním protokolu).Mezi možné hodnoty patří: NOTHINGCHECKPOINTLOG_BACKUPACTIVE_BACKUP_OR_RESTOREACTIVE_TRANSACTIONDATABASE_MIRRORINGREPLICATIONDATABASE_SNAPSHOT_CREATIONLOG_SCANAVAILABILITY_REPLICAOLDEST_PAGEXTP_CHECKPOINTOTHER TRANSIENT |
log_backup_time |
datetime | Čas spuštění posledního zálohování transakčního protokolu. |
log_backup_lsn
1 |
nvarchar(24) | Pořadové číslo posledního protokolu zálohování transakčního protokolu (LSN). |
log_since_last_log_backup_mb
1 |
float | Velikost protokolu v MB od posledního pořadové číslo protokolu zálohování transakčních protokolů (LSN). |
log_checkpoint_lsn
1 |
nvarchar(24) | Poslední pořadové číslo protokolu kontrolního bodu (LSN). |
log_since_last_checkpoint_mb
1 |
float | Velikost protokolu v MB od posledního pořadového čísla protokolu kontrolního bodu (LSN). |
log_recovery_lsn
1 |
nvarchar(24) | Pořadové číslo protokolu obnovení (LSN) databáze. Pokud log_recovery_lsn nastane před kontrolním bodem, log_recovery_lsn LSN je nejstarší aktivní transakční LSN, jinak log_recovery_lsn je to kontrolní LSN. |
log_recovery_size_mb
1 |
float | Velikost protokolu v MB od pořadové číslo protokolu obnovení protokolu (LSN). |
recovery_vlf_count
2 |
bigint | Celkový počet souborů virtuálních protokolů, které se mají obnovit, pokud došlo k převzetí služeb při selhání nebo restartování serveru. |
1 Další informace najdete v tématu pořadové číslo protokolu (LSN).
2 Další informace naleznete v souboru virtuálního protokolu (VLF).
Poznámky
Když spustíte sys.dm_db_log_stats databázi, která se účastní skupiny dostupnosti jako sekundární replika, dotaz vrátí pouze podmnožinu polí popsaných v předchozí tabulce. V současné době dotaz vrací pouze database_ida recovery_modellog_backup_time při spuštění v sekundární databázi.
Povolení
SQL Server 2019 (15.x) a starší verze vyžadují VIEW SERVER STATE oprávnění na serveru.
SQL Server 2022 (16.x) a novější verze vyžadují VIEW SERVER PERFORMANCE STATE oprávnění na serveru.
Examples
A. Určení databází v instanci SQL Serveru s vysokým počtem VLF
Následující dotaz vrací databáze s více než 100 VLF v logovacích souborech. Velké množství VLF může ovlivnit čas spuštění, obnovy a obnovy databáze.
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. Určení databází v instanci SQL Serveru se zálohováním transakčních protokolů starším než 4 hodiny
Následující dotaz určuje časy posledního spuštění zálohování protokolů pro databáze v instanci.
SELECT name AS 'Database Name',
log_backup_time AS 'last log backup start time'
FROM sys.databases AS s
CROSS APPLY sys.dm_db_log_stats(s.database_id);
Související obsah
- zobrazení dynamické správy systému
- Zobrazení dynamické správy související s databází (Transact-SQL)
- sys.dm_db_log_space_usage
- sys.dm_db_log_info