Delen via


sys.dm_db_log_space_usage (Transact-SQL)

Van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Retourneert informatie over het gebruik van ruimte voor het transactielogboek.

Opmerking

Alle transactielogboekbestanden worden gecombineerd.

Kolomnaam Gegevenstype Description
database_id smallint Database-id.

In Azure SQL Database zijn de waarden uniek binnen één database of een elastische pool, maar niet binnen een logische server.
total_log_size_in_bytes bigint De grootte van het logboek
used_log_space_in_bytes bigint De bezette grootte van het logboek
used_log_space_in_percent werkelijk De bezette grootte van het logboek als een percentage van de totale logboekgrootte
log_space_in_bytes_since_last_backup bigint De hoeveelheid ruimte die wordt gebruikt sinds de laatste back-up van het logboek
Van toepassing op: SQL Server 2014 (12.x) en latere versies en SQL Database.

Permissions

VOOR SQL Server 2019 (15.x) en eerdere versies is toestemming vereist VIEW SERVER STATE .

SQL Server 2022 (16.x) en latere versies en Azure SQL Managed Instance vereisen VIEW SERVER PERFORMANCE STATE toestemming.

Voor servicedoelstellingen van SQL Database Basic, S0 en S1 en voor databases in elastische pools is het serverbeheerdersaccount , het Microsoft Entra-beheerdersaccount of het lidmaatschap van de ##MS_ServerStateReader##serverrol vereist. Voor alle andere SQL Database-servicedoelstellingen is de VIEW DATABASE STATE machtiging voor de database of het lidmaatschap van de ##MS_ServerStateReader## serverfunctie vereist.

Voorbeelden

Eén. De hoeveelheid vrije logboekruimte in tempdb bepalen

De volgende query retourneert de totale vrije logboekruimte in megabytes (MB) die beschikbaar is 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;