1 declare @name varchar(1000) 2 declare @sql varchar(1000) 3 4 if object_id('tempdb..#space') is not null drop table #space 5 create table #space(name varchar(50),rows bigint,reserved varchar(12),data varchar(12),index_size varchar(12),unused varchar(12)) 6 7 declare sp cursor local for select '['+name+']' from sysobjects where type = 'u' 8 open sp 9 fetch sp into @name 10 while @@fetch_status = 0 11 begin 12 set @sql = 'insert into #space exec sp_spaceused ' + @name 13 exec(@sql) 14 fetch sp into @name 15 end 16 close sp 17 18 select * from #space order by cast(replace(reserved,'kb','')as int) desc
来自:SQL Server技术产品群(250942633)群友
本人独立博客:http://www.haoyuncn.net/sql-server-space