sys.dm_db_log_space_usage (Transact-SQL)
Applies to:
SQL Server (all supported versions)
Azure SQL Database
Azure SQL Managed Instance
Returns space usage information for the transaction log.
Note
All transaction log files are combined.
| Column name | Data type | Description |
|---|---|---|
| database_id | smallint | Database ID. |
| total_log_size_in_bytes | bigint | The size of the log |
| used_log_space_in_bytes | bigint | The occupied size of the log |
| used_log_space_in_percent | real | The occupied size of the log as a percent of the total log size |
| log_space_in_bytes_since_last_backup | bigint | The amount of space used since the last log backup Applies to: SQL Server 2014 (12.x) through SQL Server, SQL Database. |
Permissions
On SQL Server and SQL Managed Instance, requires VIEW SERVER STATE permission.
On SQL Database Basic, S0, and S1 service objectives, and for databases in elastic pools, the server admin account, the Azure Active Directory admin account, or membership in the ##MS_ServerStateReader## server role is required. On all other SQL Database service objectives, either the VIEW DATABASE STATE permission on the database, or membership in the ##MS_ServerStateReader## server role is required.
Examples
A. Determine the Amount of Free Log Space in tempdb
The following query returns the total free log space in megabytes (MB) available in 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;
See Also
Dynamic Management Views and Functions (Transact-SQL)
Database Related Dynamic Management Views (Transact-SQL)
sys.dm_db_file_space_usage
sys.dm_db_task_space_usage (Transact-SQL)
sys.dm_db_session_space_usage (Transact-SQL)
sys.dm_db_log_info (Transact-SQL)
sys.dm_db_log_stats (Transact-SQL)