Sdílet prostřednictvím


Zobrazení informací o datovém prostoru a místě pro protokoly databáze

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytický systém platformy (PDW)databáze SQL v Microsoft Fabric

Tento článek popisuje, jak zobrazit informace o prostoru dat a protokolu pro databázi v SQL Serveru pomocí aplikace SQL Server Management Studio nebo Transact-SQL.

Než začnete

Oprávnění ke spuštění sp_spaceused je uděleno veřejné roli. Parametr @updateusage můžou zadat pouze členové db_owner pevné databázové role.

Použití aplikace SQL Server Management Studio

Zobrazení informací o prostoru dat a protokolu pro databázi

  1. V Průzkumníku objektů se připojte k instanci SQL Serveru a potom tuto instanci rozbalte.

  2. Rozbalte databáze.

  3. Klepněte pravým tlačítkem myši na databázi, přejděte na příkaz Sestavy, přejděte na Standardní sestavya vyberte Využití disku.

Použijte Transact-SQL

Zobrazení informací o datovém a protokolovém prostoru pro databázi pomocí sp_spaceused

  1. Připojte se k databázovému stroji.

  2. Na panelu nástrojů Standard vyberte Nový dotaz.

  3. Vložte následující příklad do okna dotazu a vyberte Execute. Tento příklad používá sp_spaceused systémovou uloženou proceduru k sestavení informací o místě na disku pro celou databázi, včetně tabulek a indexů.

    USE AdventureWorks2022;  
    GO  
    EXEC sp_spaceused;  
    GO  
    

Zobrazení využitého datového prostoru podle objektu a alokační jednotky pro databázi

  1. Připojte se k databázovému stroji.

  2. Na panelu Standardní nástrojů vyberte Nový dotaz.

  3. Vložte následující příklad do okna dotazu a vyberte Execute. Tento příklad dotazuje zobrazení katalogu objektů pro hlášení využití místa na disku podle tabulky a v rámci každé tabulky podle alokační jednotky .

    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;
    
    

Zobrazte informace o datovém a záznamovém prostoru pro databázi dotazováním sys.database_files.

  1. Připojte se k databázovému stroji.

  2. Na standardním panelu nástrojů vyberte Nový dotaz.

  3. Vložte následující příklad do okna dotazu a pak vyberte Execute. Tento příklad dotazuje zobrazení katalogu sys.database_files, aby vrátilo konkrétní informace o datech a souborech protokolů v databázi AdventureWorks2022.

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