sql*_*irl 7 sql-server t-sql disk-space tempdb auto-growth
我有一个客户端服务器,在这个实例上有大约 15 个数据库,数据总量约为 100 GB。其中一个数据库用于 sysaid 应用程序。他的临时数据库文件是一个 mdf 一个 ndf,当然还有一个 ldf。mdf 与其他 mdf 位于同一驱动器上,如果 ldf 文件也是如此。
当我设置自动增长属性时,我知道我应该将其保持为不受限制的增长,但是当我需要在 % 或 MB 的自动增长之间进行选择时,该选择什么?我怎么知道要配置什么号码?
提前致谢!
Aar*_*and 11
对我来说,最好的做法是在一开始就将文件的大小设置得足够大,以适应您期望的增长。
让我们使用一些简单的数字。假设您有一个已分配给 tempdb 的 100 GB 驱动器(或某些共享驱动器的 100 GB)。您的实例有 4 个 tempdb 文件,您已决定将它们最初设置为 100 MB,并一次增加 10 MB。最初,那个 100 GB 驱动器或切片看起来像这样(显然不是按比例缩放):
当您的系统使用 tempdb 资源时,每个 tempdb 文件都会增长 10 MB,而这会增加 10 MB。经过几次增长:
请注意,每个增长事件虽然可能很快,但会强制所有连接等待。如果未启用即时文件初始化,并且文件被配置为一起增长(这在某些版本中需要跟踪标志,但这是正确的做法,因为您不希望任何单个文件比别人大)。
当你的驱动器的末尾,所有4个文件将无法生长在同一时间。这是一个业务连续性事件。当 tempdb 无法在此处增长时,活动将停止:
现在,如果您走到这一步,您需要承认您需要更改使用 tempdb 的方式,或者 100 GB 不够,您需要分配更多空间。但我认为最好从这里开始并为您的 tempdb 初始数据文件大小配置此大小:
好吧,从技术上讲,我会将它们的大小调整为每个 20 GB,自动增长 500 MB。这使您仍然可以在填满 100GB 切片之前得到很好的警告,但同时无需为所有这些增量文件增长付费。
毕竟,如果 tempdb 会增长以填充该空间,那么您就不能将它用于其他任何事情。
我应该给自动增长哪个大小
没有幻数(默认值传统上对于实际使用来说太保守了,但现在越来越好)。您的自动增长设置将基于磁盘的性能特征以及您预期增长的频率。如果您有 SSD 或类似设备,并且启用了 IFI,则大小可能与您希望在到达切片末尾之前获得多少警告密切相关。如果您有旋转的机械驱动器和/或没有启用 IFI,您可能需要测试各种设置并查看将文件增长不同数量所需的时间满足您对系统上所有事务的容忍度等待。
归档时间: |
|
查看次数: |
9581 次 |
最近记录: |