There should be little change in the script
DECLARE @databases as table (DbName nvarchar(100), DbSize bigint, Remarks nvarchar(100))
DECLARE @results as table (DbName nvarchar(100), DbSize bigint, ObjectCount bigint)
DECLARE @dbname as nvarchar(100),
@dbsize as bigint,
@remarks as nvarchar(100),
@sql as nvarchar(max)
INSERT INTO @databases EXEC sp_databases
SELECT TOP 1 @dbname = DBName, @dbsize = DBSize FROM @databases
WHILE EXISTS (SELECT TOP 1 * FROM @databases)
BEGIN
SET @sql =
' SELECT ''' + @dbname + ''', ''' +
CAST(@dbsize as nvarchar) + ''', COUNT(1) FROM [' + @dbname +
'].[sys].[objects]'
PRINT @sql
INSERT INTO @results EXEC(@SQL)
DELETE FROM @databases WHERE dbname = @dbname
SELECT TOP 1 @dbname = DBName, @dbsize = DBSize FROM @databases
END
SELECT * FROM @results ORDER BY ObjectCount desc
Thanks
Abhilash