Espacio utilizado por tablas de SQL Server
Como administrador de base de datos es importante conocer el espacio utilizado por cada una de las tablas de una base de datos de SQL Server.
Esta característica de monitoreo no viene implementada para su consulta desde el Management Studio. Por lo tanto, es necesario tener conocimientos sobre T-SQL para escribir y ejecutar una consulta que nos devuelva la información.
Espacio utilizado por las tablas de SQL
Abre SQL Server Management Studio con o sin permisos de administrador, abre una consulta y escribe las siguientes líneas de código.
USE [Northwind] --Nombre de la base de datos
SELECT
s.Name AS 'NombreEsquema',
t.Name AS 'NombreTabla',
p.Rows AS 'TotalRegistros',
CAST(ROUND((SUM(a.used_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS 'MB_Usados',
CAST(ROUND((SUM(a.total_pages) - SUM(a.used_pages)) / 128.00, 2) AS NUMERIC(36, 2)) AS 'MB_Libres',
CAST(ROUND((SUM(a.total_pages) / 128.00), 2) AS NUMERIC(36, 2)) AS 'MB_Totales'
FROM sys.tables t
INNER JOIN sys.indexes i ON t.OBJECT_ID = i.OBJECT_ID
INNER JOIN sys.partitions p ON i.OBJECT_ID = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN sys.allocation_units a ON p.PARTITION_ID = a.container_id
INNER JOIN sys.schemas s ON t.SCHEMA_ID = s.SCHEMA_ID
GROUP BY
t.Name, s.Name, p.Rows
ORDER BY
s.Name, MB_Totales Desc;
Ejecuta la consulta, para este ejemplo estoy realizando la consulta en la base de datos Northwind obteniendo el siguiente resultado.
Se genera una lista de todas las tablas de la base de datos junto con el espacio en MB utilizados. Esta información te permite conocer el estado de tu almacenamiento, si tu servidor te limita en espacio esta información es muy importante.