Partage via


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

S’applique à : SQL Server base de données Azure SQL Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Cet article vous permet de découvrir comment afficher les informations relatives aux données et à l’espace du 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 .

Utiliser SQL Server Management Studio

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 l’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.

Utiliser 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