按大小SQL Server 2005自动增长

我一直在寻找我们为客户端设置的新数据库服务器,并且注意,每次文件已满并且初始大小为100 MB时,数据库文件都设置为增长1 meg。

我一直在仔细考虑这个,听起来不对。我检查了一些关于数据库考虑因素的网站,他们没有正确解释这些数据。

我可能只希望数据库文件每月扩展一次,我们可以说吗?

因此,如果我要计算我希望每天以兆字节插入的数据量,然后乘以30,我应该找到一个合适的数字?

i.e. I do know approximately the size of 1 row and approx how many rows will be inserted in an average week per table. I know these are estimates from the ground up so you think once a month is a suitable approximation for the file to extend or is it preferable to extend every hour>? or never?

我们正在使用全部备份,以便我们可以恢复到某个时间点,并且事务日志备份正在发生,恢复过程似乎是100%有效的。这些类型的变化是否会以任何方式影响备份和恢复?

谢谢。

3

6 答案

你提出的建议非常重要。你希望自动增长是基于你期望看到的。

如果数据库每次满满时自动增长1Mb,则会遇到巨大的性能问题,因为每次数据库已满时,无论正在进行的事务都必须暂停,直到数据增长。

我试图找到一篇关于此主题的文章,所以当我找到它时,我会添加一个链接...

编辑: http: //searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1330922,00.html 这篇文章是关于收缩数据库的,但它详细介绍了数据库自动增长时发生的情况,并展示了它可能对性能造成的影响。

你绝对不希望你的数据库像1Mb一样频繁地增长!

3
额外

在我看来,我不会设置数据库以百分比增长,而是让数据库以100 MB的速度增长一周,然后将增长设置更改为一周的增长,例如5 GB。我们有这样做的系统。

否则,您可以获得真正的技术,并查看每周有多少记录添加到系统中,考虑归档或删除的记录,然后计算每条记录所需的空间量,并根据该时间设置自动增长记录的数量。

我将引导一个人远离百分比增长的原因是,当系统为1000 MB时,它将增长100 MB。然后,下一次,系统是1100 MB,并将增加我的110 MB。大小将是1210,数据库将增长到121 MB。那么规模将是1331,增长将是133 MB。随着这种不均衡的增长,它将很难计算剩余的磁盘空间以及何时需要重新调整最大设置。

只是我2美分。

此外,上述默认增长在MODEL数据库中设置。当你创建一个新的数据库时,你的MODEL数据库有什么设置是新数据库默认的。

2
额外

每次数据文件不得不增长时,它占用一定量的资源,因为它会占用额外的磁盘空间并扩展数据文件。所以,理想情况下你想限制增长的数量。

就我个人而言,我试图确保我的数据库不必自动增长。我试图在下班时间主动增长它们。这也让我可以更好地监控磁盘空间,因为它不容易“自动增长”;)

如果他们每月自动增长一次,应该没问题。每分钟你都会看到性能影响。

除了可能占用更多空间并填满备份位置的备份之外,我想不出任何会导致备份过程出现问题的原因。我更像是一名SQL开发人员,而不是DBA,所以我不能发誓。

0
额外

除了一些冗余的分配空间之外,大尺寸增量几乎没有或者没有下降。将增量设置为使其每月或几个月增长的大小都是正确的。

无论如何,您应该有一个定期的工作来监视磁盘卷和文件中的可用空间,并生成一份报告,以便您可以看到即将发生的磁盘短缺情况。

0
额外

试图减少数据库增长的次数通常是正确的。

我无法给你任何确切的值,但最好将数据库文件大小设置得如此之大,以至于只需要偶尔增大它,然后就必须大幅度增长,以免频繁更改文件大小。

0
额外

我刚刚在SQL Server Management Studio 2008中进行了检查,创建新数据库时的默认增长是1MB ......这可能是您的1MB设置来自哪里(我敢打赌,它在2005年是一样的)。

我记得很久以前,读者可能会考虑将其数据库文件设置为在每次需要增长时翻倍。现在,如果你有一个5TB的数据库,你可能不希望它有一天增加一倍,但对于一个大小为1GB的数据库来说,它可能是很酷的,如果它需要的时候它翻倍(如果你的话你会有一个衰退的增长事件率具有恒定的数据输入速率)。

只是想呈现我认为可以成为可行的战略,当然取决于你的情况。

0
额外