Visualización de información del espacio ocupado por los datos y el registro de una base de datos

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

En este artículo se describe cómo mostrar la información del espacio de datos y del espacio de registro de una base de datos en SQL Server mediante SQL Server Management Studio o Transact-SQL.

Antes de empezar

El permiso para ejecutar sp_spaceused se otorga al rol public. Solo los miembros del rol fijo de base de datos db_owner pueden especificar el parámetro @updateusage .

Uso de SQL Server Management Studio

Para mostrar la información del espacio ocupado por los datos y el registro de una base de datos

  1. En Explorador de objetos, conéctese a una instancia de SQL Server y, a continuación, expanda esa instancia.

  2. Expanda Bases de datos.

  3. Haga clic con el botón derecho en una base de datos, seleccione Informes e Informes estándary, luego, seleccione Uso de disco.

Usar Transact-SQL

Para mostrar la información del espacio ocupado por los datos y el registro de una base de datos mediante sp_spaceused

  1. Conéctese con el Motor de base de datos.

  2. En la barra de herramientas Estándar, seleccione Nueva consulta.

  3. Pegue el ejemplo siguiente en la ventana de consulta y haga clic en Ejecutar. En este ejemplo se usa el procedimiento almacenado del sistema sp_spaceused para notificar información del espacio en disco para toda la base de datos, incluidas tablas e índices.

    USE AdventureWorks2022;  
    GO  
    EXEC sp_spaceused;  
    GO  
    

Para mostrar el espacio de datos empleado por el objeto y la unidad de asignación relativa a una base de datos

  1. Conéctese con el Motor de base de datos.

  2. En la barra de herramientas Estándar, seleccione Nueva consulta.

  3. Pegue el ejemplo siguiente en la ventana de consulta y haga clic en Ejecutar. Este ejemplo consulta las vistas del catálogo de objetos para notificar el uso del espacio en disco por tabla y dentro de cada tabla por cada unidad de asignación.

    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;
    
    

Para mostrar la información del espacio ocupado por los datos y el registro de una base de datos mediante una consulta a sys.database_files

  1. Conéctese con el Motor de base de datos.

  2. En la barra de herramientas Estándar, seleccione Nueva consulta.

  3. Pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar. En este ejemplo se consulta la vista de catálogo sys.database_files para devolver información específica sobre los archivos de datos y de registro de la base de datos AdventureWorks2022 .

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

Vea también

SELECT (Transact-SQL)
sys.database_files (Transact-SQL)
sp_spaceused (Transact-SQL)
Adición de archivos de datos o de registro a una base de datos
Eliminación de archivos de datos o de registro de una base de datos