Anzeigen von Informationen zum Daten- und Protokollspeicherplatz für eine Datenbank

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

In diesem Artikel wird beschrieben, wie Sie die Daten- und Protokollrauminformationen für eine Datenbank in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL anzeigen.

Voraussetzungen

Die Berechtigung zum Ausführen von sp_spaceused wird der Rolle public gewährt. Nur Mitglieder der festen Datenbankrolle db_owner können den Parameter @updateusage angeben.

Verwendung von SQL Server Management Studio

So zeigen Sie Informationen zum Daten- und Protokollspeicherplatz einer Datenbank an

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Instanz von SQL Server her, und erweitern Sie diese Instanz.

  2. Erweitern Sie Datenbanken.

  3. Klicken Sie mit der rechten Maustaste auf eine Datenbank, zeigen Sie auf Berichte, zeigen Sie auf Standardberichte, und wählen Sie dann die Option Datenträgerauslastung aus.

Verwenden von Transact-SQL

So zeigen Sie Informationen zum Daten- und Protokollspeicherplatz einer Datenbank mit sp_spaceused an

  1. Stellen Sie eine Verbindung mit dem Datenbank-Engineher.

  2. Klicken Sie in der Standardsymbolleiste auf Neue Abfrage.

  3. Fügen Sie das folgende Beispiel in das Abfragefenster ein, und klicken Sie dann auf Ausführen. In diesem Beispiel wird die gespeicherte Systemprozedur sp_spaceused verwendet, um Informationen zum Datenträgerspeicherplatz für die gesamte Datenbank, einschließlich Tabellen und Indizes zu melden.

    USE AdventureWorks2022;  
    GO  
    EXEC sp_spaceused;  
    GO  
    

Anzeigen des vom Objekt und der Zuordnungseinheit genutzten Datenspeichers für eine Datenbank

  1. Stellen Sie eine Verbindung mit dem Datenbank-Engineher.

  2. Klicken Sie in der Standardsymbolleiste auf Neue Abfrage.

  3. Fügen Sie das folgende Beispiel in das Abfragefenster ein, und klicken Sie dann auf Ausführen. In diesem Beispiel werden Katalogsichten für Objekte abgefragt, um die Auslastung des Speicherplatzes auf dem Datenträger pro Tabelle und innerhalb jeder Tabelle pro Zuordnungseinheit zu melden.

    SELECT
      t.object_id,
      OBJECT_NAME(t.object_id) ObjectName,
      sum(u.total_pages) * 8 Total_Reserved_kb,
      sum(u.used_pages) * 8 Used_Space_kb,
      u.type_desc,
      max(p.rows) RowsCount
    FROM
      sys.allocation_units u
      JOIN sys.partitions p on u.container_id = p.hobt_id
    
      JOIN sys.tables t on p.object_id = t.object_id
    
    GROUP BY
      t.object_id,
      OBJECT_NAME(t.object_id),
      u.type_desc
    ORDER BY
      Used_Space_kb desc,
      ObjectName;
    
    

So zeigen Sie Daten und Protokollspeicherplatzinformationen für eine Datenbank durch das Abfragen von sys.database_files an

  1. Stellen Sie eine Verbindung mit dem Datenbank-Engineher.

  2. Klicken Sie in der Standardsymbolleiste auf Neue Abfrage.

  3. Fügen Sie das folgende Beispiel in das Abfragefenster ein, und klicken Sie dann auf Ausführen. In diesem Beispiel wird die Katalogsicht sys.database_files abgefragt, um bestimmte Informationen zu den Daten- und Protokolldateien in der AdventureWorks2022 -Datenbank zurückzugeben.

    USE AdventureWorks2022;  
    GO  
    SELECT file_id, name, type_desc, physical_name, size, max_size  
    FROM sys.database_files;  
    
    GO  
    
    

Siehe auch

SELECT (Transact-SQL)
sys.database_files (Transact-SQL)
sp_spaceused (Transact-SQL)
Hinzufügen von Daten oder Protokolldateien zu einer Datenbank
Löschen von Daten oder Protokolldateien aus einer Datenbank