在SQL Server 2008中有一种方法可以生成一个报告,告知每个表占用多少磁盘空间?

Mat*_*att 3 sql-server

在SQL Server 2008中有一种方法可以生成一个报告,告知每个表占用多少磁盘空间?

我可以通过检查存储属性逐个完成,但我想知道是否有办法,甚至是查询来生成这样的报告.

Dea*_*uga 5

是的,使用sp_spaceused存储过程来获取此信息...

USE AdventureWorks;
GO
EXEC sp_spaceused N'Purchasing.Vendor';
GO
Run Code Online (Sandbox Code Playgroud)

结果将如下所示:

name    rows    reserved    data    index_size  unused
Vendor  104         48 KB   16 KB   32 KB   0 KB
Run Code Online (Sandbox Code Playgroud)

要获取数据库中所有表的统计信息,请使用:

EXEC sp_MSforeachtable @command1="EXEC sp_spaceused '?'"
Run Code Online (Sandbox Code Playgroud)