Condividi tramite


Visualizzare le informazioni sullo spazio allocato ai dati e ai log per un database

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL di Azure Synapse Analytics Platform System (PDW) in Microsoft Fabric

Questo articolo illustra come visualizzare le informazioni sui dati e lo spazio di log per un database in SQL Server usando SQL Server Management Studio o Transact-SQL.

Operazioni preliminari

L'autorizzazione per eseguire sp_spaceused è concessa al ruolo publicco. Solo tramite i membri del ruolo predefinito del database db_owner può essere specificato il parametro @updateusage .

Usare SQL Server Management Studio

Visualizzare le informazioni sullo spazio allocato ai dati e ai log per un database

  1. In Esplora oggetti, connettersi a un'istanza di SQL Server e quindi espandere l'istanza.

  2. Espandere Database.

  3. Fare clic con il pulsante destro del mouse su un database, scegliere Report, successivamente Report standard, quindi selezionare Utilizzo disco.

Usare Transact-SQL

Visualizzare le informazioni sullo spazio allocato ai dati e ai log per un database utilizzando sp_spaceused

  1. Connettersi al motore di database di.

  2. Sulla barra degli strumenti Standard selezionare Nuova query.

  3. Incollare l'esempio seguente nella finestra Query e quindi selezionare Esegui. In questo esempio viene usata la stored procedure di sistema sp_spaceused per fornire le informazioni sullo spazio su disco per il database completo, inclusi la tabella e gli indici.

    USE AdventureWorks2022;  
    GO  
    EXEC sp_spaceused;  
    GO  
    

Visualizzare lo spazio dati usato dall'unità di allocazione e dall'oggetto per un database

  1. Connettersi al motore di database di.

  2. Sulla barra degli strumenti Standard selezionare Nuova query.

  3. Incollare l'esempio seguente nella finestra Query e quindi selezionare Esegui. In questo esempio vengono eseguite query sulle viste del catalogo oggetti per segnalare l'utilizzo dello spazio su disco per tabella e all'interno di ogni tabella per unità di allocazione.

    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;
    
    

Visualizzare le informazioni sullo spazio allocato ai dati e ai log per un database eseguendo una query su sys.database_files

  1. Connettersi al motore di database di.

  2. Sulla barra degli strumenti Standard selezionare Nuova query.

  3. Incollare l'esempio seguente nell'intervallo di query e quindi selezionare Esegui. In questo esempio si esegue una query sulla vista del catalogo sys.database_files per restituire informazioni specifiche sui file di dati e di log nel database AdventureWorks2022 .

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