¿Como saber el tamaño de las tablas de una de datos MS-SQL?
Podemos encontrarnos con la necesidad de conocer qué tablas de nuestra base de datos están ocupando más espacio en disco. Por ejemplo, si disponemos de SQL Server Express, cuyas bases de datos están limitadas a 4GB o 10GB, según la versión que estemos usando -4, hasta 2005; 10, a partir de 2008-, aparte de usar las opciones de comprimir la base de datos, poner el log en el modo simple de recuperación o ajustar las políticas de crecimiento automático de nuestros ficheros, podemos necesitar averiguar qué tablas crecen más para tomar las decisiones oportunas.
Para ello, podemos mirar tabla por tabla sus propiedades o usar el siguiente script que nos devolverá una fila por cada tabla, con su espacio usado y reservado:
SET NOCOUNT ON DBCC UPDATEUSAGE(0) -- Table row counts and sizes.
DECLARE @sizes TABLE
(
[name] NVARCHAR(128), [rows] CHAR(11), reserved VARCHAR(18), data VARCHAR(18), index_size VARCHAR(18), unused VARCHAR(18) ) INSERT @sizes EXEC sp_msForEachTable 'EXEC sp_spaceused ''?''' SELECT * FROM @sizes ORDER BY convert(int, substring(data, 1, len(data)-3)) desc
Comentarios