最近公司的数据库发现有表的数据被弄掉了,有些数据表记录为0,于是想找出此数据库中到底有哪些数据表的记录都为0以缩小分析范围,可使用如下的SQL Statement:
代码如下 | 复制代码 |
CREATE TABLE #tmptb(tbname sysname,tbrows int INSERT INTO #tmptb exec sp_MSForEachTable 'EXEC sp_spaceused ''?''' SELECT * from #tmptb --列出所有表的情况 SELECT tbrows ,tbname FROM #tmptb WHERE tbrows=0 --列出记录数据为0的表 DROP TABLE #tmptb |
其中
tbname 表名
tbrows 记录数
tbREserved 保留空间
tbData 使用空间
tbIndexSize 索引使用空间
tbUnUsed 未用空间