SQL Server

时间:2018-01-26 14:58:33

标签: sql sql-server space disk

我想了解导致SQL Server 12数据库大小的原因。 mdf有21.5 GB。使用"顶级表的磁盘使用情况"在SQL Server Management Studio中报告,我可以看到"数据"一张桌子。该表有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 如果我们可以信任它,那么索引或未使用的空间不应该是原因。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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