For example:
exec sp_MSForEachTable
@precommand=N'
create table temp(
name sysname,
rows bigint,
reserved Nvarchar(100),
data varchar(100),
index_size varchar(100),
unused varchar(100))',
@command1=N'insert temp exec sp_spaceused ''?''',
@postcommand=N'select * from temp order by name drop table temp'
在SQL Server,组合sp_spaceused和sp_MSforeachtable这两个存储过程,可以统计出用户数据表的大小,包括记录总数和空间占用情况。
exec sp_spaceused 'tablename' (指定表大小)
exec sp_spaceused 'tablename',true (更新表的空间大小,准确的表空间大小)
exec sp_spaceused (数据库大小)
exec sp_MSforeachtable 'exec sp_spaceused ''?''' (所有用户表大小)