SQL Server上行的大约磁盘空间消耗

问题描述 投票:1回答:2

我想了解导致SQL Server 12数据库大小的原因。 mdf有21.5 GB。使用SQL Server Management Studio中的“按顶层表的磁盘使用情况”报告,我可以看到一个表的“数据”使用了15.4 GB。该表有1,691行4列(int,varchar(512),varchar(512),image)。我假设图像列负责大部分消耗。但

Select (sum(datalength(<col1>)) + ... )/1024.0/1024.0 as MB From <Table>

只给出328.9 MB。

这种巨大差异背后的原因可能是什么?

附加信息:对于某些行,图像列会定期更新。

这是报告的截图:enter image description here如果我们可以信任它,索引或未使用的空间不应该是原因。

sql sql-server space disk
2个回答
0
投票

也许你每个表使用了很多索引,这些都会加起来。也许你的自动增长设置是错误的。


0
投票

原因是同一SQL Server实例上另一个不相关的数据库(!)上的长时间运行事务。读提交的快照隔离级别填充了版本存储。断开其他应用程序会将内存使用量减少到合理的数量。

© www.soinside.com 2019 - 2024. All rights reserved.