是否有任何标准工具可用于估计 SQL Server 的磁盘空间需求?

15
有没有一个工具/应用程序可以计算 SQL Server 数据库的空间需求?我知道可以使用 sp_spaceused,但它只能计算当前占用的实际空间。我想要的是一个工具,可以连接到数据库,用户可以交互式地提供输入,如平均行数,并得到所需的空间需求。这可以用于未来的规划。
  • 该工具应能连接到 SQL Server 实例/数据库,
  • 获取每个表的一行数据大小
  • 用户应能够为所有表估计行计数
  • 该工具应能估算出所需的空间大小

通过更多的输入信息,例如每天的事务量等,我们可以估算出日志的大小等。

更新:

我已经开始着手开发一种工具以满足此目标。我希望大家都能提出自己的想法。一旦它有了一定的形状,我计划将其放在像 codeplex.com 这样的开源项目网站上。


2
好问题!我不知道有没有;我们已经创建了一个内部系统来跟踪这个过程(按数据库、表和客户端ID进行每月大小和记录计数的收集/存储)。 - Tao
请继续提出新的想法。如果没有这样的工具,我们可以考虑创建一个。 - Kangkan
1
上次我查找时并没有找到这样的工具,所以最终我自己编写了代码来计算堆、聚集索引和相关的非聚集索引的平均行大小(使用官方计算公式),然后将结果导入 Excel 中。这样我就能为特定客户应用数值(比如他们销售了多少产品,有多少个位置等)。 - Andrew
1
您还需要考虑每天的交易量(用于日志记录),插入/删除操作(是否会引入碎片化?)。我想我想说的是,即使您成功创建或找到计算器,也要对结果持怀疑态度。 - Mike M.
好的。一个需求就是计算每个表中每行所需的大小。然后我们可能需要一种方法来输入每个表中平均行数。然后规划增长因素。最后,还要考虑日志的大小。 - Kangkan
2个回答

6
以下阅读材料提供了关于空间估算的清晰说明:
- 估算SQL Server数据库的大小 - http://sqlserverdiaries.com/blog/index.php/2011/05/estimating-the-size-of-an-sql-server-database/ - Cindy Gross的检查清单非常好 - https://web.archive.org/web/20151026141916/http://blogs.msdn.com/b/cindygross/archive/2009/03/12/previous-blogs-on-sqlcommunity-com.aspx - 如何估算SQL Server所需的磁盘空间 - 在sqlcommunity.com中无法访问。 - 另一个链接,SQL Server大小调整资源 - https://web.archive.org/web/20190421182553/https://blogs.msdn.microsoft.com/bartd/2010/06/16/sql-server-sizing-resources/

+1,非常感谢您的优秀输入。我正在寻找一款完整的自动化工具。不过,如果我开始为自己开发它,这个Excel表格也可以成为一个组件。非常感谢。 - Kangkan
第一个链接已失效。 - Toolkit

6
我创建了一个(免费)工具来完成这个任务 - https://github.com/mattrandle/DBSizer
该应用程序通过读取数据库的模式信息生成电子表格。您可以在电子表格中输入每个表的行数。它会告诉您大致数据库的大小。

1
很棒的工具。你一定要开源它。 - marvc1
这是一个非常优秀的工具。 - Biruk Abebe
太棒了,你创建了一个工具! - Developer Marius Žilėnas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接