在SQL server 2008中,我想要所有行数不为NULL的表 有人可以帮忙吗?
答案 0 :(得分:2)
快速而肮脏的方式(包括未提交的交易的影响)
SELECT OBJECT_NAME(p.object_id), SUM(rows)
FROM sys.partitions p
WHERE index_id < 2 and OBJECTPROPERTYEX (object_id ,'IsUserTable' ) = 1
GROUP BY p.object_id
HAVING SUM(rows) > 0
答案 1 :(得分:2)
非常快速和肮脏的方式:
在SSMS中,右键单击数据库,选择Reports-&gt;标准报告 - &gt;顶级表的磁盘使用情况
答案 2 :(得分:2)
另一种方法是使用未记录的程序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
这可能需要一些时间才能运行,具体取决于数据库和表的大小。