日期:2014-05-18  浏览次数:20666 次

请教如何判断表大小
我要从有着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#