Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
SQL-Datenbank in Microsoft Fabric
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öhere Versionen und SQL-Datenbank. |
Berechtigungen
SQL Server 2019 (15.x) und frühere Versionen erfordern VIEW SERVER STATE eine Berechtigung.
SQL Server 2022 (16.x) und höhere Versionen sowie azure SQL Managed Instance erfordern VIEW SERVER PERFORMANCE STATE Berechtigungen.
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.
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;