sys.dm_db_log_space_usage (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Gibt Informationen zur Speicherplatznutzung für das Transaktionsprotokoll zurück.

Hinweis

Alle Transaktionsprotokolldateien werden kombiniert.

Spaltenname Datentyp Beschreibung
database_id smallint Datenbank-ID

In Azure SQL-Datenbank sind die Werte innerhalb einer einzelnen Datenbank oder eines elastischen Pools eindeutig, aber nicht innerhalb eines logischen Servers.
total_log_size_in_bytes bigint Die Größe des Protokolls
used_log_space_in_bytes bigint Die belegte Größe des Protokolls
used_log_space_in_percent real Die belegte Größe des Protokolls als Prozent der Gesamtprotokollgröße
log_space_in_bytes_since_last_backup bigint Der Speicherplatz, der seit der letzten Protokollsicherung verwendet wird
Gilt für: SQL Server 2014 (12.x) und höher, SQL-Datenbank.

Berechtigungen

Für SQL Server und SQL Managed Instance ist die VIEW SERVER STATE-Berechtigung erforderlich.

Für SQL-Datenbank Standard-, S0- und S1-Dienstziele sowie für Datenbanken in elastischen Pools ist das Serveradministratorkonto, das Microsoft Entra-Administratorkonto oder die Mitgliedschaft in der ##MS_ServerStateReader##Serverrolle erforderlich. Für alle anderen SQL-Datenbank-Dienstziele ist entweder die VIEW DATABASE STATE-Berechtigung für die Datenbank oder die Mitgliedschaft in der ##MS_ServerStateReader##-Serverrolle erforderlich.

Berechtigungen für SQL Server 2022 und höher

Erfordert die VIEW SERVER PERFORMANCE STATE-Berechtigung auf dem Server.

Beispiele

.A Ermitteln des freien Speicherplatzes in tempdb

Die folgende Abfrage gibt den gesamten freien Protokollspeicherplatz in Megabyte (MB) zurück, der 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;  

Nächste Schritte