EXEC sp_spaceused查询

时间:2012-08-18 15:18:52

标签: c# .net sql-server database rdbms

我要求刮掉300万份文件。它们都是textvarchar字段。对于示例我刚刚删除了250个文档,当我运行EXEC sp_spaceused时,它给了我26.6 MB的数据库大小。我想知道我们可以计算出存储300万份文件所需的尺寸吗?那是一个近似值的幕后。但问题是我们真的可以根据这个值来计算吗?

3 个答案:

答案 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开始)。

相关问题