Другой способ - использовать недокументированную процедуру sp_MSForEachTable
Create Table ##TempRowCount
(
TableName nvarchar(max),
NumberOfRows int
)
Exec sp_msforeachTable 'Insert Into ##TempRowCount select ''?'', count(*) From ?'
Select * From ##TempRowcount
Where NumberOfRows > 0
Drop Table ##TempRowCount
Это может занять некоторое время, в зависимости от размера базы данных и таблиц.