SQL SERVER中查看表占用空间的另外一种方法
前面有篇文章中,介绍利用游标和sp_spaceused来查看数据库内所有表占用的空间,并倒序排序。
统计SQL SERVER数据库内所有表占用空间并排序
下面介绍另外一种方法:利用sp_MSforeachtable替代游标来实现上篇文章中的类似功能。
use ossdb
go--------查看所有表空间使用情况
CREATE TABLE #T(
name nvarchar(256),
rows varchar(11),
reserved varchar(18),
data varchar(18),
index_size varchar(18),
unused varchar(18)
)EXEC sp_MSforeachtable "INSERT #T EXEC sp_spaceused '?'"
SELECT * FROM #T ORDER BY Convert(int,SubString(data,1,Len(data)-3)) DESC
drop table #T
go
测试通过,将ossdb改成用户数据库名字即可。