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


sys.dm_db_log_space_usage (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure

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

Примечание.

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

Имя столбца Тип данных 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 и управляемом экземпляре SQL необходимо разрешение VIEW SERVER STATE.

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

Разрешения для SQL Server 2022 и более поздних версий

Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.

Примеры

А. Определение объема свободного пространства журнала в 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;  

Следующие шаги