请教如何判断表大小
我要从有着1000多个表的数据库中找出里边存有数据的表,就是非空表
如果能按大小排序最好,谢谢
另外还想知道,怎么从查询分析器中写指令,从所有表中找有(比如FModel字段,字段中有内容‘abcde’)的表
------解决方案--------------------帮顶
------解决方案--------------------sp_msforeachtable 'SELECT ' '? ' ',COUNT(*) FROM (SELECT TOP 1 1 AS x FROM ?) a HAVING COUNT(*)> 0 '
------解决方案--------------------select object_name(id),rowcnt from sysindexes where indid <2 and objectproperty(id, 'isusertable ')=1
order by 2 desc
------解决方案--------------------exec sp_spaceused [表名]--列(rows)为表的记录数、表的大小等信息
用动态语句用也临时表,再查看临时表就行了
------解决方案----------------------用下面这个就行啦.
--得到数据库中所有表的空间/记录情况
create table #tb(表名 sysname,记录数 int
,保留空间 varchar(10),使用空间 varchar(10)
,索引使用空间 varchar(10),未用空间 varchar(10))
insert into #tb exec sp_MSForEachTable 'EXEC sp_spaceused ' '? ' ' '
select * from #tb
go
drop table #tb
来源:http://topic.csdn.net/t/20040107/15/2642472.html#