Dela via


Visa information om data och loggutrymme för en databas

gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-databas i Microsoft Fabric

Den här artikeln beskriver hur du visar information om data och loggutrymme för en databas i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL.

Innan du börjar

Behörighet att köra sp_spaceused beviljas rollen public. Endast medlemmar i den db_owner fasta databasrollen kan ange parametern @updateusage.

Använda SQL Server Management Studio

Visa information om data och loggutrymme för en databas

  1. I Object Explorer ansluter du till en instans av SQL Server och expanderar sedan den instansen.

  2. Expandera Databaser.

  3. Högerklicka på en databas, peka på Rapporter, peka på standardrapporteroch välj sedan Diskanvändning.

Använd Transact-SQL

Visa information om data och loggutrymme för en databas med hjälp av sp_spaceused

  1. Anslut till databasmotorn.

  2. I verktygsfältet Standard väljer du Ny fråga.

  3. Klistra in följande exempel i frågefönstret och välj sedan Kör. I det här exemplet används den sp_spaceused systemlagringsproceduren för att rapportera diskutrymmesinformation för hela databasen, inklusive tabeller och index.

    USE AdventureWorks2022;  
    GO  
    EXEC sp_spaceused;  
    GO  
    

Visa datautrymme som används av objekt och allokeringsenhet för en databas

  1. Anslut till databasmotorn.

  2. I verktygsfältet Standard väljer du Ny fråga.

  3. Klistra in följande exempel i frågefönstret och välj sedan Kör. Det här exemplet söker i objektkatalogvyer för att rapportera diskutrymmesanvändning per tabell och inom varje tabell för varje allokeringsenhet.

    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;
    
    

Visa information om data och loggutrymme för en databas genom att fråga sys.database_files

  1. Anslut till databasmotorn.

  2. I verktygsfältet Standard väljer du Ny fråga.

  3. Klistra in följande exempel i frågefönstret och välj sedan Kör. Det här exemplet frågar sys.database_files katalogvyn för att returnera specifik information om data och loggfiler i AdventureWorks2022-databasen.

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