我要求刮掉300万份文件。它们都是text
和varchar
字段。对于示例我刚刚删除了250个文档,当我运行EXEC sp_spaceused
时,它给了我26.6 MB的数据库大小。我想知道我们可以计算出存储300万份文件所需的尺寸吗?那是一个近似值的幕后。但问题是我们真的可以根据这个值来计算吗?
答案 0 :(得分:3)
250个文档对于300万个文档来说是一个很小的样本。根据您在数据库中的其他内容,很难说这26.6中有多少是由文档组成的。
我说26.6MB / 250 * 3000000~ = 319GB是一个上限对所有文件的DB大小的高估计,假设你已经刮掉了250是代表性的样本。
答案 1 :(得分:2)
基本上,如果您希望样本具有代表性,那么您可以这样做。你能抽出更多样品,比如10倍或100倍吗?
无论如何,可能你应该只考虑你创建的表的大小,因为只有那个大小会增加。
Database size = your tables + system objects + unused space (+ log size).
你只想衡量“你的桌子”。
如果您使用的是企业版,请尝试启用压缩功能。但它不适用于LOB值。
答案 2 :(得分:0)
假设刷新日志(例如简单恢复模型或在查询之前备份的数据库),您可以使用此数字(即MB)并将其乘以12000。
要存储大型二进制文档和文本,请考虑使用FILESTREAM(从SQL Server 2008开始)。