改变autogrowth的理由?

我有一个生产MS SQL Server 2005数据库,我最近已成为一个“无意的数据库pipe理员…”,而周围的数据库设置,我发现它具有1MB的默认自动增长设置。 我读过(并且普遍相信)这不是一个合适的设置 – 数据库是14GB大。 我愿意(也可能)改变它,但是我的问题是…如果没有人注意到这些年来我们一直在使用它(特别是用户),为什么我现在应该改变它? 换句话说,我想我从基本的层面上明白了为什么1MB太小了 – 可能是经常自动生长,也许每天或者每天几次 – 但是我想“如果没有破坏,不要修复它”。

有什么具体的理由来增加自动增长? 自动增长时是否将用户locking? 它是否重新索引? 数据库除了向数据库添加更多的磁盘空间之外,还能做什么?

下面是关于这个主题的一个很棒的MS KB文章,其中涵盖了所有潜在的性能问题: SQL Server中“自动增长”和“自动收缩”设置的注意事项

但是我从来没有见过默认值是1MB。 我相信默认设置实际上是10%。 [ 由GregD按照评论编辑 ]

这不是真正的自动增长。 自动增长是一个安全阀,所以当一些不寻常的增长发生时,数据库不会发生爆炸。 你最好在夜间进行维护工作,以确定数据库是否需要在当天增长,并在必要时resize。

我看到的最大的麻烦是交易日志。 如果你有一个很大的交易,并且超过了你的数据库的交易日志的大小,它将会延迟你的交易。 同样,如果你正在做一个大规模的插入或者其他东西,它也会大大减缓(因为随着数据库的不断增长)。

回答这个问题真的很难,因为答案会和这里的人一样多,我们不知道你现在的performance如何。

你目前的performance如何?

自动增长可能会影响您的用户。 频繁的自动增长会频繁地影响用户。

您目前的交易logging有多大?

根据交易日志的大小,将自动增长大小设置为百分比而不是固定增长可能会影响用户。

自动增长不能替代适当的容量规划。

我听说,当你以小部分自动增长(1Mb)时,数据库变得碎片化,这会对性能产生不利影响。