使用sp_MSForEachTable这个系统存储过程。
创建一张临时表,它有2个字段,[Table_Name]和[Total_Records]。
然后使用sp_MSForEachTable来处理,把结果插入上面创建的临时表中。如果Total_Records为0的,说明此表没有任何记录。
DROP TABLE #Temp_T GO CREATE TABLE #Temp_T ( [Table_Name] NVARCHAR(128), [Total_Records] INT ) GO EXEC sp_MSForEachTable @command1 = 'INSERT INTO #Temp_T([Table_Name], [Total_Records]) SELECT ''?'', COUNT(*) FROM ?' ; GO SELECT [Table_Name],[Total_Records] FROM #Temp_T ORDER BY [Total_Records] DESCSource Code