Como saber el número de filas de todas las tablas SQL Server
Para saber el número de filas de una tabla se usa lo siguiente:
select count(*) from tutabla
Ahora, si deseamos saber el número de filas de todas las tablas de una base de datos, podemos usar el siguiente procedimiento almacenado creado:
CREATE PROCEDURE dbo.listTableRowCounts
AS
BEGIN
SET NOCOUNT ON
DECLARE @SQL VARCHAR(255)
SET @SQL = 'DBCC UPDATEUSAGE (' + DB_NAME() + ')'
EXEC(@SQL)
CREATE TABLE #foo
(
tablename VARCHAR(255),
rc INT
)
INSERT #foo
EXEC sp_msForEachTable
'SELECT PARSENAME(''?'', 1),
COUNT(*) FROM ?'
SELECT tablename, rc
FROM #foo
ORDER BY rc DESC
--DROP TABLE #foo
END
El código mostrado hace un select count en cada tabla usando el procedimiento sp_msForeachTable.
Para ejecutar el procedimiento almacenado use la siguiente sentencia:
exec dbo.listTableRowCounts
Fuente
http://sqlserver2000.databases.aspfaq.com/how-do-i-get-a-list-of-sql-server-tables-and-their-row-counts.html
Nice!!!, Thanks Daniel
ResponderEliminarTengo una pregunta para saber el numero total de procedimientos almacenados ?????
ResponderEliminarEn la vista sys.objects buscar los objetos cuyo tipo sea procedure.
ResponderEliminarSería algo así como select count(*) from sys.objects where type='p'