K09*_*K09 5 sql-server auto-growth
最好不要对自动增长设置使用百分比文件增长吗?
以下建议对 500GB 以下的数据库使用百分比值增长,但是否建议这样做?
http://performance-expert.blogspot.ie/2012/06/tuning-autogrow-settings-of-sql-server.html
如果磁盘空间有限或无法调整数据库大小,则应将 >autogrowth 值配置为固定百分比。例如,对于 500 GB 以下的数据库,将自动增长值配置为 >10%,如果数据库超过 500 GB,则配置为固定的兆字节数。
谢谢!
更新:下面我在一些数据库上添加了 Autogrowth 的快照。对此有什么建议吗?
还有什么是预测数据库大小的最佳方法?

Mik*_*lsh 11
共有三个答案,每个答案都部分包含了一些很好的建议。也就是说,我想从另一个角度补充一点。
在这里谈论数据库文件......
合适的尺码是最好的
正如大多数人所说或暗示的那样 - 为当前和未来的需求“调整大小”你的数据库要好得多。TomTom 正确地指出那里的性能受到影响,但 KookieMonster 也正确地指出即时文件初始化(IFI,因为我很懒惰)对此有帮助......即使使用 IFI - 我更喜欢了解大小我的数据库在部署和未来可能的需求中尽我所能。然后我尝试根据我对项目的了解/对增长潜力的了解来确定这个规模,再加上一个“超额”......注意:这不是一门精确的科学,有时(很多时候)你弄错了,没关系.. Autogrowth 是一件好事.. 我只是更喜欢尝试并保持在它的顶端。
为什么?因为当我开始耗尽空间时,我不想与 SAN 管理员进行那种尴尬的对话。而且我不希望 SAN 管理员必须做出选择在幕后做一些丑陋的事情来给我空间。我喜欢预先分配,随着时间的推移观察我在数据库中使用的空闲空间并使用
作为紧急帮手的自动成长
数据文件的自动增长并不是邪恶的,尤其是对于 IFI。但我喜欢监视 DB 文件内部使用的空间,并使用自动增长的能力作为创可贴。通过这种方式,我可以随时掌握我作为 DBA 负责的数据库的增长情况。你的监控团应该包括检查已用空间并查看它。
什么设置最好?
因此,考虑到这一点,您使用什么几乎不重要,因为您正在帮助自己管理增长。如果您看到您的空间使用曲线比您喜欢的更陡峭,您可以查看您的计算并在一次大增长中预分配更多空间。即便如此,我也不是百分比的忠实粉丝。对我来说,这是不确定的,表明有人没有在很多情况下管理增长。我只是更喜欢这种级别的控制,并根据数据库的需要选择一个我认为合适的空间。
大警告
“这取决于” -如果你的数据库是小,可能不会是在磁盘上的一大福音曾经那么我不会哭将其保持在一定比例,甚至付出少了几分关注它的设置。如果我去一个客户那里看到一个 750GB 的数据库仍然处于默认增长百分比并且没有日志文件管理,我会在内心哭泣。如果我去客户那里使用 1.25GB 的数据库,该数据库已经使用了 3 年并且仍然设置为默认值?我在我的报告中提到了它,但我有完整的“有最佳实践......然后在有些情况下你很好”与他们的谈话......现在如果 IFI 被禁用,他们有充分的理由保留它禁用?对于较小的数据库,我仍然可能会更严肃地说一些话,我真的会说“ 并将其增长 4 倍以预先分配一些空间”并冒着“浪费”2 到 3 GB 磁盘空间的风险。
事务日志文件
是另一回事。日志文件没有/不能利用 IFI。他们不喜欢自动增长,因为有一个叫做VLF碎片的小东西(那个链接会带你到更多关于这个主题的链接)。我更喜欢调整事务日志的大小,观察它们,然后重新评估正确的大小。我保持自动增长(填满的生产事务日志文件也让我在里面哭泣......实际上也在外面)。我根据为 VLF 提供的链接的指导,将它们按“块”调整大小。
就我而言,我不得不承认,我通常发现百分比增长更容易管理。话虽如此,这里有一些我试图记住的事情:
数据库总是以某种方式设法扩大规模,但您必须仔细规划并避免将它们分成许多小块。这些操作非常占用 CPU,并且通常会导致数据库碎片化。您的日志文件将有很多虚拟日志文件(http://www.brentozar.com/blitz/high-virtual-log-file-vlf-count/和http://www.sqlskills.com/blogs/kimberly /transaction-log-vlfs-too-many-or-too-few/以获取额外信息),这会减慢恢复、备份操作......等等。如果可以,请尝试以大块的方式生长。正如 Adrian Sullivan 上面所说,您必须找到平衡点。
使用即时初始化。这将避免需要用零初始化请求的空间,并为您节省大量时间和 CPU。有关更多详细信息,请查看http://www.sqlskills.com/blogs/paul/how-to-tell-if-you-have-instant-initialization-enabled/。
监控您的磁盘空间!当可用磁盘空间低于某个阈值(例如 10% 或 20%)时,不要害怕发送警报。一个完整的磁盘会给很多用户和你带来痛苦。
小智 0
与大多数 SQL 事物一样,这完全取决于情况,没有正确的自动增长设置,尽管越大越好。
每个增长事件都需要 SQL Server 付出大量努力,写入日志会增加数据库大小,因此理想情况下,您希望事件尽可能少。您需要在 20MB DB 上的 1MB 和 500GB DB 上的 50% 增长之间找到中间地带。这一切都是为了找到自己的平衡。
最好的方法是评估您所拥有的以及您期望在接下来的 30 天或 90 天内实现的增长,将这些数字以百分比或固定大小的形式输入,然后在一个月内再次检查。冲洗并重复。
根据经验,我们的默认设置是 10% 自动增长,这对于我们的大多数数据库(从 10MB 到 0.7TB)都适用。你只需要管理它。
| 归档时间: |
|
| 查看次数: |
9909 次 |
| 最近记录: |