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 Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Base de données SQL dans Microsoft Fabric
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
Dans l’Explorateur d’objets, connectez-vous à une instance de SQL Server puis développez l’instance.
Développez Bases de données.
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
Connectez-vous au Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
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
Connectez-vous au Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
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
Connectez-vous au Moteur de base de données.
Dans la barre d’outils standard, sélectionnez Nouvelle requête.
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