我想了解导致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。
这种巨大差异背后的原因可能是什么?
其他信息: 对于某些行,图像列会定期更新。
答案 0 :(得分:0)
也许你每个表都使用了很多索引,这些都会加起来。也许你的自动增长设置是错误的。
答案 1 :(得分:0)
原因是同一SQL Server实例上另一个不相关的数据库(!)上的长时间运行事务。读提交的快照隔离级别填充了版本存储。断开其他应用程序会将内存使用量减少到合理的数量。