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;