Sidebar

Script para generar un reporte del espacio usados por cada tabla, lo importante de este script es que no se hace uso de un cursor y nos puede servir como base para generar cualquier otro tipo de reportes.

SET NOCOUNT ON
DECLARE @lngTabCount INTEGER
DECLARE @lngLoopCount INTEGER
DECLARE @strTabName VARCHAR(30)


CREATE TABLE #report
(name varchar(50),
rows int,
reserved varchar(50),
data varchar(50),
index_size varchar(50),
unused varchar (50))

CREATE TABLE #tTables
(
numID INTEGER IDENTITY(1,1)
,strTableName VARCHAR(30)
)

INSERT INTO #tTables (strTableName)
SELECT name FROM dbo.sysobjects WHERE xtype = 'u'

SET @lngTabCount = @@ROWCOUNT
SET @lngLoopCount = @lngTabCount

WHILE @lngLoopCount <> 0
BEGIN
SET @strTabName = (SELECT strTableName FROM #tTables WHERE numID = @lngLoopCount)
INSERT INTO #report
EXEC sp_spaceused @strTabName
SET @lngLoopCount = @lngLoopCount - 1
END

SELECT * FROM #report
DROP TABLE #tTables
DROP TABLE #report
GO


Tips BD