exec sp_MSForEachTable
@precommand=N'
create table ##(
表名 sysname,
记录数 int,
保留空间 Nvarchar(10),
使用空间 varchar(10),
索引使用空间 varchar(10),
未用空间 varchar(10))',
@command1=N'insert ## exec sp_spaceused ''?''',
@postcommand=N'select top 10 * from ## order by 记录数 drop table ##'
--or
if object_id('tb')is not null drop table tb
go
create table tb(
表名 sysname,
记录数 int,
保留空间 nvarchar(10),
使用空间 varchar(10),
索引使用空间 varchar(10),
未用空间 varchar(10))
exec sp_MSForEachTable @command1=N'insert tb exec sp_spaceused ''?'''
select * from tb
本文介绍了一种使用SQL Server内置过程sp_MSForEachTable来遍历所有表,并通过execsp_spaceused获取每个表的空间使用情况的方法。其中包括创建临时表存储结果及最终查询结果的步骤。
2084

被折叠的 条评论
为什么被折叠?



