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改成用户数据库名字即可。

  • 本文链接地址:https://www.dbainfo.net/sql-server-database-all-tables-space-order-desc2.htm
  • 本文为dbainfo个人原创,请在尊重作者劳动成果的前提下进行转载;
  • 转载务必注明原始出处 : Sybase数据库技术,数据库恢复专家
  • 对《SQL SERVER中查看表占用空间的另外一种方法》有何疑问或见解,请在本文下方发表;
  • 对网站还有其他问题或建议,请提交在留言板,谢谢!
  • 目前还没有任何评论.
    :wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)