para empezar para que necesitas un cursor? si puedes hacer eso con un query dinamico y un while algo como esto:
Código SQL:
Ver original---Obtener los nombres de todas las tablas de una base y sacar cuantos registros tiene cada una de ellas
DROP TABLE #temp
DROP TABLE #t
SELECT TABLE_NAME, IDENTITY(INT,1,1) AS ROW
INTO #temp
FROM information_schema.TABLES
WHERE (table_type = 'base table')
CREATE TABLE #t
(
[name] NVARCHAR(128),
[ROWS] CHAR(11),
reserved VARCHAR(18),
DATA VARCHAR(18),
index_size VARCHAR(18),
unused VARCHAR(18)
)
DECLARE
@contador INT,
@query VARCHAR(MAX),
@x INT,
@nombre VARCHAR(200)
SELECT @contador=COUNT(*) FROM #temp
SET @x=1
SET @query=''
while @x<=@contador
BEGIN
SELECT @nombre=TABLE_NAME FROM #temp WHERE ROW=@x
SET @query='insert into #t exec sp_spaceused ' + CHAR(39) + @nombre + CHAR(39)
EXEC Sp_sqlExec @query
SET @x=@x+1
END
----------------------------------------------------
SELECT * FROM #temp
nada mas aplicalo para lo que necesitas y listo :)