declare @xSQL nvarchar(1000), @cDatabase varchar(75), @cTable varchar(75), @cRows int create table #card( DatabaseName varchar(75), TableName varchar(75), TableRows int ) declare db_cursor cursor for select name from master..sysdatabases where name not in('master', 'msdb', 'model', 'tempdb') for read only open db_cursor fetch next from db_cursor into @cDatabase while(@@fetch_status = 0) begin set @xSQL = 'select ''' + @cDatabase + ''', convert(varchar(50), obj.name) [table], ndx.rows from ' + @cDatabase + '..sysindexes ndx, ' + @cDatabase + '..sysobjects obj where indid < 2 and ndx.id = obj.id and obj.type = ''U'' and obj.name != ''dtproperties'' order by obj.name' insert into #card(DatabaseName, TableName, TableRows) exec sp_executesql @xSQL fetch next from db_cursor into @cDatabase end close db_cursor deallocate db_cursor select * from #card drop table #card