Freigeben über


sys.dm_db_log_space_usage (Transact-SQL)

Gilt für: SQL Server Azure SQL-Datenbank Azure 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 Pools für elastische Datenbanken 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 die SQL-Datenbank-Ziele Basic, S0 und S1 sowie für Datenbanken in Pools für elastische Datenbanken ist das Konto des Serveradministrators oder des Microsoft Entra-Administratorkontos 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 verfügbar ist.

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