¿Como saber que espacio usan las tablas en Sql Server 2000?
Publicado el Abril 14, 2008 por tydw
Interesante el stored procedure que encontré en 4guysfromrolla.com, con el podemos saber que espacio están usando las tablas de nuestra base de datos en SQL Server 2000.
Con el stored procedure sp_spaceused podemos determinar que espacio usa nuestra base de datos completa y tambien un objeto determinado como por ejemplo una tabla.
Ejemplos de uso:
EXEC sp_spaceused
Lo que devuelve este stored es lo siguiente:
reserved data index_size unused ------------------ ------------------ ------------------ ------------------ 274880 KB 216248 KB 47912 KB 10720 KB
Con sp_spaceused tambien podemos saber el tamaño que usa una tabla ej: sp_spaceused ‘mitabla’
Para saber el tamaño de todas las tablas es necesario correr un stored procedure, el siguiente:
CREATE PROCEDURE dbo.TableSpaceUsed AS -- Create the temporary table... CREATE TABLE #tblResults ( [name] nvarchar(20), [rows] int, [reserved] varchar(18), [reserved_int] int default(0), [data] varchar(18), [data_int] int default(0), [index_size] varchar(18), [index_size_int] int default(0), [unused] varchar(18), [unused_int] int default(0) ) – Populate the temp table… EXEC sp_MSforeachtable @command1= “INSERT INTO #tblResults ([name],[rows],[reserved],[data],[index_size],[unused]) EXEC sp_spaceused ‘?’” – Strip out the ” KB” portion from the fields UPDATE #tblResults SET [reserved_int] = CAST(SUBSTRING([reserved], 1, CHARINDEX(‘ ‘, [reserved])) AS int), [data_int] = CAST(SUBSTRING([data], 1, CHARINDEX(‘ ‘, [data])) AS int), [index_size_int] = CAST(SUBSTRING([index_size], 1, CHARINDEX(‘ ‘, [index_size])) AS int), [unused_int] = CAST(SUBSTRING([unused], 1, CHARINDEX(‘ ‘, [unused])) AS int) – Return the results… SELECT * FROM #tblResultsUsa este stored y podrás tener un mejor control del tamaño de tu base de datos.
Archivado bajo: Programacion, Sql Server | Etiquetado: SQL