查找特定行的磁盘大小

dub*_*ech 6 sql-server sql-server-2008-r2

我试图找出各种表中的许多行占用的磁盘大小。

我可以通过查询定义这些行。如何找出与 SQL Server 中的结果集对应的实际磁盘大小?

我之所以想知道这一点,是因为我正在尝试分析一个多租户系统。我试图获得每个租户在系统上占用的总大小。所以我需要与每个租户有关的所有行的大小以及每个租户在索引表中使用的大小等。

租户都共享相同的架构,因此不容易做到。

Rem*_*anu 9

一种方法是查看sys.dm_db_index_physical_stats输出。的min_record_size_in_bytesmax_record_size_in_bytes并且avg_record_size_in_bytes会给你你想要的大小。

如果要查看特定记录的大小,另一种方法是查找物理行位置,请参阅SQL Server 2008:新的(未记录的)物理行定位器函数。然后,您可以转储行物理结构,请参阅记录剖析

最后,您可以使用产品文档来估算尺​​寸: