sql server 获取数据库中每个表的磁盘占用情况create table tmp (name varchar(500),rows int,reserved varchar(500),
sql server 获取数据库中每个表的磁盘占用情况  data 
varchar(500),index_size varchar(500),unused varchar(500))
sql server 获取数据库中每个表的磁盘占用情况
insert into tmp (name,rows,reserved,
sql server 获取数据库中每个表的磁盘占用情况  data,index_size,unused) 
exec sp_msforeachTable @Command1="sp_spaceused '?'"--sp_spaceused 't_vehicle'
sql server 获取数据库中每个表的磁盘占用情况
select * from tmp order by [rows] desc 
sql server 获取数据库中每个表的磁盘占用情况
drop table tmp


或者使用我自己写的,不过只有行数,没有使用系统存储过程
 1sql server 获取数据库中每个表的磁盘占用情况declare @maxrowcount int
 2sql server 获取数据库中每个表的磁盘占用情况declare @maxtablename varchar(200)
 3sql server 获取数据库中每个表的磁盘占用情况declare @sql nvarchar(2000)
 4sql server 获取数据库中每个表的磁盘占用情况declare @tempcount int
 5sql server 获取数据库中每个表的磁盘占用情况set @sql = '';
 6sql server 获取数据库中每个表的磁盘占用情况set @maxtablename = '';
 7sql server 获取数据库中每个表的磁盘占用情况create table #rowcount
 8sql server 获取数据库中每个表的磁盘占用情况(counts int,tname varchar(200))
 9sql server 获取数据库中每个表的磁盘占用情况declare Tnamecursor cursor for select name from sysobjects where xtype = 'U' and OBJECTPROPERTY(id, N'IsUserTable'= 1
10sql server 获取数据库中每个表的磁盘占用情况declare @name varchar(200);
11sql server 获取数据库中每个表的磁盘占用情况open Tnamecursor
12sql server 获取数据库中每个表的磁盘占用情况FETCH NEXT FROM Tnamecursor INTO @name
13sql server 获取数据库中每个表的磁盘占用情况WHILE @@FETCH_STATUS = 0
14sql server 获取数据库中每个表的磁盘占用情况    BEGIN
15sql server 获取数据库中每个表的磁盘占用情况        set @sql = 'select @tempcount = count(*) from '+@name +'  insert into #rowcount values (@tempcount,@name)';
16sql server 获取数据库中每个表的磁盘占用情况print @sql            
17sql server 获取数据库中每个表的磁盘占用情况exec sp_executesql @sql,N'@tempcount int,@name varchar(200)',@tempcount,@name
18sql server 获取数据库中每个表的磁盘占用情况            --print @name+'total count:'+Convert(varchar(200),@tempcount)
19sql server 获取数据库中每个表的磁盘占用情况            if(@maxrowcount <@tempcount)
20sql server 获取数据库中每个表的磁盘占用情况                begin
21sql server 获取数据库中每个表的磁盘占用情况                set @maxrowcount = @tempcount;
22sql server 获取数据库中每个表的磁盘占用情况                set @maxtablename = @name;
23sql server 获取数据库中每个表的磁盘占用情况                end
24sql server 获取数据库中每个表的磁盘占用情况        FETCH NEXT FROM Tnamecursor INTO @name
25sql server 获取数据库中每个表的磁盘占用情况    end
26sql server 获取数据库中每个表的磁盘占用情况CLOSE Tnamecursor
27sql server 获取数据库中每个表的磁盘占用情况DEALLOCATE Tnamecursor
28sql server 获取数据库中每个表的磁盘占用情况
29sql server 获取数据库中每个表的磁盘占用情况select * from #rowcount order by counts desc
30sql server 获取数据库中每个表的磁盘占用情况
31sql server 获取数据库中每个表的磁盘占用情况drop table #rowcount
32sql server 获取数据库中每个表的磁盘占用情况
33sql server 获取数据库中每个表的磁盘占用情况
34sql server 获取数据库中每个表的磁盘占用情况
35sql server 获取数据库中每个表的磁盘占用情况
36sql server 获取数据库中每个表的磁盘占用情况
37sql server 获取数据库中每个表的磁盘占用情况

相关文章: