Afficher les informations sur l’espace occupé par les données et par le journal d’une base de données

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Cet article explique comment afficher les informations d’espace de données et de journal pour une base de données dans SQL Server à l’aide de SQL Server Management Studio ou de Transact-SQL.

Avant de commencer

L’autorisation d’exécuter sp_spaceused est accordée au rôle public. Seuls les membres du rôle de base de données fixe db_owner peuvent spécifier la paramètre @updateusage .

Utilisation de SQL Server Management Studio

Pour afficher les informations sur l'espace occupé par les données et par le journal d'une base de données

  1. Dans l’Explorateur d’objets, connectez-vous à une instance de SQL Server, puis développez cette instance.

  2. Développez Bases de données.

  3. Cliquez avec le bouton droit sur une base de données, pointez sur Rapports, sur Rapports standard, puis cliquez sur Utilisation du disque.

Utilisation de Transact-SQL

Pour afficher les informations sur l'espace occupé par les données et par le journal d'une base de données à l'aide de sp_spaceused

  1. Connectez-vous au Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. Collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. Cet exemple utilise la procédure stockée système sp_spaceused pour communiquer des informations sur l’espace disque de la base de données entière, y compris ses tables et ses index.

    USE AdventureWorks2022;  
    GO  
    EXEC sp_spaceused;  
    GO  
    

Pour afficher l’espace de données utilisé par l’objet et l’unité d’allocation d’une base de données

  1. Connectez-vous au Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. Collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. Cet exemple interroge les vues catalogue d’objets pour communiquer l’utilisation de l’espace disque par table et dans chaque table par unité d’allocation.

    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;
    
    

Pour afficher les informations sur l'espace occupé par les données et par le journal d'une base de données en interrogeant sys.database_files

  1. Connectez-vous au Moteur de base de données.

  2. Dans la barre d’outils standard, sélectionnez Nouvelle requête.

  3. Collez l’exemple suivant dans la fenêtre de requête, puis sélectionnez Exécuter. L’exemple suivant interroge l’affichage catalogue sys.database_files pour retourner des informations spécifiques sur les fichiers de données et les fichiers journaux de la base de données AdventureWorks2022 .

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

Voir aussi

SELECT (Transact-SQL)
sys.database_files (Transact-SQL)
sp_spaceused (Transact-SQL)
Ajouter des données ou des fichiers journaux à une base de données
Supprimer des données ou des fichiers journaux d’une base de données