Ескерім
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server 2016 (13.x) с пакетом обновления 2 (SP 2) и более поздних
версий База данных SQL Azure Управляемый экземпляр SQL Azure
Возвращает атрибуты сводного уровня и сведения о файлах журнала транзакций баз данных. Используйте эти сведения для мониторинга и диагностика работоспособности журнала транзакций.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sys.dm_db_log_stats ( database_id )
Аргументы
database_id | NULL | ПО УМОЛЧАНИЮ
Идентификатор базы данных. database_id
имеет значение int
. Допустимые входные данные — это идентификатор базы данных или NULL
DEFAULT
. Значение по умолчанию — NULL
. NULL
и DEFAULT
эквивалентны значения в контексте текущей базы данных.
Можно указать встроенную функцию DB_ID . При использовании DB_ID
без указания имени базы данных уровень совместимости текущей базы данных должен иметь значение 90 или больше.
Возвращаемые таблицы
Имя столбца | Тип данных | Description |
---|---|---|
database_id | int | Идентификатор базы данных. В База данных SQL Azure значения уникальны в одной базе данных или эластичном пуле, но не в логическом сервере. |
recovery_model | nvarchar(60) | Модель восстановления базы данных. Возможные значения: ПРОСТОЙ BULK_LOGGED FULL |
log_min_lsn | nvarchar(24) | Текущий номер последовательности журнала запуска (LSN) в журнале транзакций. |
log_end_lsn | nvarchar(24) | Номер последовательности журнала (LSN) последней записи журнала в журнале транзакций. |
current_vlf_sequence_number | bigint | Текущий номер последовательности виртуального журнала (VLF) во время выполнения. |
current_vlf_size_mb | float | Текущий размер файла виртуального журнала (VLF) в МБ. |
total_vlf_count | bigint | Общее количество файлов виртуальных журналов (VLFs) в журнале транзакций. |
total_log_size_mb | float | Общий размер журнала транзакций в МБ. |
active_vlf_count | bigint | Общее количество активных файлов виртуальных журналов (VLFs) в журнале транзакций. |
active_log_size_mb | float | Общий размер активного журнала транзакций в МБ. |
log_truncation_holdup_reason | nvarchar(60) | Причина удержания усечения журнала. Значение совпадает со log_reuse_wait_desc столбцом sys.databases . (Более подробные объяснения этих значений см. в разделе Журнал транзакций). Возможные значения: NOTHING CHECKPOINT LOG_BACKUP ACTIVE_BACKUP_OR_RESTORE ACTIVE_TRANSACTION DATABASE_MIRRORING REPLICATION DATABASE_SNAPSHOT_CREATION LOG_SCAN РЕПЛИКА ДОСТУПНОСТИ OLDEST_PAGE XTP_CHECKPOINT ДРУГИЕ ВРЕМЕННЫЕ |
log_backup_time | datetime | Время резервного копирования журнала транзакций. |
log_backup_lsn | nvarchar(24) | Последний номер последовательности журналов резервного копирования журналов транзакций (LSN). |
log_since_last_log_backup_mb | float | Размер журнала в МБ с момента последнего номера последовательности журнала резервного копирования журнала транзакций (LSN). |
log_checkpoint_lsn | nvarchar(24) | Последний номер последовательности журнала контрольной точки (LSN). |
log_since_last_checkpoint_mb | float | Размер журнала в МБ после последнего номера последовательности журналов контрольной точки (LSN). |
log_recovery_lsn | nvarchar(24) | Номер последовательности журнала восстановления (LSN) базы данных. Если log_recovery_lsn это происходит до LSN контрольной точки, log_recovery_lsn является самой старой активной транзакцией LSN, в противном случае log_recovery_lsn используется LSN контрольной точки. |
log_recovery_size_mb | float | Размер журнала в МБ с номером последовательности журнала восстановления журнала (LSN). |
recovery_vlf_count | bigint | Общее количество файлов виртуальных журналов (VLFs), которые необходимо восстановить, если произошел отработка отказа или перезапуск сервера. |
Замечания
При запуске sys.dm_db_log_stats
базы данных, которая участвует в группе доступности в качестве вторичной реплики, возвращается только подмножество описанных выше полей. В настоящее время возвращается только database_id
recovery_model
и log_backup_time
возвращается при запуске в базе данных-получателе.
Разрешения
Требуется VIEW SERVER STATE
разрешение в базе данных.
Разрешения для SQL Server 2022 и более поздних версий
Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.
Примеры
А. Определение баз данных в экземпляре SQL Server с большим количеством VLFs
Следующий запрос возвращает базы данных с более чем 100 VLFs в файлах журнала. Большое количество VLFs может повлиять на время запуска, восстановления и восстановления базы данных.
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. Определение баз данных в экземпляре SQL Server с резервными копиями журнала транзакций старше 4 часов
Следующий запрос определяет время последнего резервного копирования журналов для баз данных в экземпляре.
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);
См. также
Динамические административные представления и функции (Transact-SQL)
Динамические административные представления базы данных (Transact-SQL)
sys.dm_db_log_space_usage (Transact-SQL)
sys.dm_db_log_info (Transact-SQL)