SqlServer中查看數據庫所有表的表空間和索引空間信息


--方法1
exec sp_MSforeachtable @command1="EXEC sp_spaceused '?'";

會返回多個結果集,可能不是所希望的結果。進一步處理,參考方法2 

--方法2
create table #tblResults(
[name] nvarchar(50), --注意有表名會長於50
[rows] int,
[reserved] varchar(18),
[reserved_int] int default(0),
[data] varchar(18),
[data_int] int default(0),
[index_size] varchar(18),
[index_size_int] int default(0),
[unused] varchar(18),
[unused_int] int default(0)
)
exec sp_MSforeachtable @command1 = 
"insert into #tblResults([name],[rows],[reserved],[data],[index_size],[unused])
exec sp_spaceused '?' "
update #tblResults set
 [reserved_int] =CAST(substring([reserved],1,CHARINDEX(' ',[reserved])) as int),
 [data_int] =CAST(substring([data],1,CHARINDEX(' ',[data])) as int),
 [index_size_int] =CAST(substring([index_size],1,CHARINDEX(' ',[index_size])) as int),
 [unused_int] =CAST(substring([unused],1,CHARINDEX(' ',[unused])) as int)
 
 select * from #tblResults

 

 注:原文鏈接地址http://www.4guysfromrolla.com/webtech/032906-1.shtml

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM