获取 SQL Server 数据库磁盘使用情况统计信息的最简单方法是什么?

获取 SQL Server 数据库磁盘使用情况统计信息的最简单方法是什么?

我有一个 SQL Server 数据库,其中包含数百个数据表,我正在寻找与每个单独的表相关的磁盘使用情况统计信息。

有没有快速的方法来找到这些信息?

答案1

马克·布朗整理存储过程使用 sp_spaceused 和 sp_tables 系统存储过程来收集该信息。另外,如果您不介意使用 Microsoft 私有过程,这个存储过程是实现相同目标的一种较短的方法。

答案2

哪个 SQL Server 版本?
哪个“使用情况”统计信息?大小?读取?写入?

对于尺寸,您可以查看sys.allocation_units

select object_name(object_id) as [Object]
 , sum(au.total_pages)*8 as [Size (Kb)]
 from sys.allocation_units au
 join sys.partitions p on au.container_id = p.partition_id
 group by object_id
 having sum(au.total_pages) > 0

对于 IO,您可以查看sys.dm_db_index_usage_stats

另一种可能的方法是启用性能收集器集并使用SQL Server 2008 管理数据仓库

相关内容