轻松查看数据库中各个SQL表的磁盘空间使用情况

对于任何活动数据库,磁盘存储需求都会随着时间的推移而增长。虽然您可以通过在SQL Management Studio中查看数据库属性的“文件”页或在Windows资源管理器中简单地查看底层文件来轻松查看整个数据库使用的磁盘空间,但如果您想要更深入地挖掘并查看构成整体的各个部分,该怎么办呢?

要查看此信息,您需要查看各个表的大小。值得庆幸的是,SQL Server有一个内置的存储过程sp_SpaceUsed,它可以显示各个表的存储统计信息。利用此存储过程,我们创建了一个批处理脚本,它允许您轻松地生成数据库中每个表的列表并查看其存储统计信息。

运行该脚本时,将以表格格式列出数据库中每个表的以下信息:

数据库表名。 表中的行数。 SQL分配给此表的总磁盘空间。 用于数据存储的磁盘空间量。 用于内部SQL索引的磁盘空间量。 当前未使用的磁盘空间量

使用脚本

DBSize批处理脚本与SQL 2005及更高版本兼容,必须在安装了SQLCMD工具(作为SQL Server安装的一部分安装)的计算机上运行。建议您将此脚本放到Windows PATH变量(即C:Windows)中设置的位置,以便可以像从命令行调用任何其他应用程序一样轻松地调用它。

要查看帮助信息,只需输入:

实例

在默认实例上运行MyDB报表,并将输出定向到桌面上的MyDB Table Size.txt:

要使用密码为“123456”的“sa”用户在命名实例“Special”上运行有关“mydb”的报告,请执行以下操作:

从SysadminGeek.com下载数据库表大小批处理脚本

相关文章