方法一、查询数据库中的数据表,以及表中的数据条数
select a.Name , b.rowcnt,b.rows from sysobjects a
inner join sysindexes b on a.id=b.id where (a.type='u') and (b.indid in (0,1))
方法二、查询数据库中的表,字段数,数据条数,保留空间,使用空间,索引使用空间,未用空间
查询的列较多,而且通过创建临时表,删除临时表,执行存储过程等导致效率较低
exec sp_MSForEachTable
@precommand=N'
create table ##(
id int identity,
表名 sysname,
字段数 int,
记录数 int,
保留空间 Nvarchar(10),
使用空间 varchar(10),
索引使用空间 varchar(10),
未用空间 varchar(10))',
@command1=N'insert ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) exec sp_spaceused ''?''
update ## set 字段数=(select count(*) from syscolumns where id=object_id(''?'')) where id=scope_identity()',
@postcommand=N'select * from ## order by 记录数 desc
drop table ##'
@precommand=N'
create table ##(
id int identity,
表名 sysname,
字段数 int,
记录数 int,
保留空间 Nvarchar(10),
使用空间 varchar(10),
索引使用空间 varchar(10),
未用空间 varchar(10))',
@command1=N'insert ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) exec sp_spaceused ''?''
update ## set 字段数=(select count(*) from syscolumns where id=object_id(''?'')) where id=scope_identity()',
@postcommand=N'select * from ## order by 记录数 desc
drop table ##'