Поделиться через


sys.dm_db_log_space_usage (Transact-SQL)

Применимо к:SQL ServerБаза данных SQL AzureУправляемый экземпляр SQL AzureБаза данных SQL в Microsoft Fabric

Возвращает сведения об использовании пространства для журнала транзакций.

Примечание.

Все файлы журнала транзакций объединяются.

Имя столбца Тип данных Description
database_id smallint Идентификатор базы данных.

В База данных SQL Azure значения уникальны в одной базе данных или эластичном пуле, но не в логическом сервере.
total_log_size_in_bytes bigint Размер журнала
used_log_space_in_bytes bigint Размер занятого журнала
used_log_space_in_percent real Занятый размер журнала в процентах от общего размера журнала
log_space_in_bytes_since_last_backup bigint Объем пространства, используемого с момента последней резервной копии журнала
Применимо к: SQL Server 2014 (12.x) и более поздних версий и базы данных SQL.

Разрешения

ДЛЯ SQL Server 2019 (15.x) и более ранних версий требуется VIEW SERVER STATE разрешение.

ДЛЯ SQL Server 2022 (16.x) и более поздних версий и Управляемого экземпляра SQL Azure требуется VIEW SERVER PERFORMANCE STATE разрешение.

Для целей службы База данных SQL Basic, S0 и S1, а также для баз данных в эластичных пулах, учетной записи администратора сервера, учетной записи администратора Microsoft Entra или членства в ##MS_ServerStateReader##роли сервера требуется. Для всех остальных целей обслуживания базы данных SQL требуется разрешение VIEW DATABASE STATE в базе данных или членство в роли сервера ##MS_ServerStateReader##.

Примеры

А. Определение объема свободного пространства журнала в tempdb

Следующий запрос возвращает общее свободное пространство журнала в мегабайтах (МБ), доступное в tempdb.

USE tempdb;
GO

SELECT (total_log_size_in_bytes - used_log_space_in_bytes) * 1.0 / 1024 / 1024 AS [free log space in MB]
FROM sys.dm_db_log_space_usage;