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.

Espacio utilizado por tablas de SQL Server

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.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *