加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – Sql Server – 增长数据库文件的最佳实践

发布时间:2021-01-12 07:30:09 所属栏目:MsSql教程 来源:网络整理
导读:我一直在通过sql server 2008 r2中的数据收集器监视文件增长两周.该数据库一直在以每天35(MB)左右的速度增长.数据库尚未达到2 GB的初始大小. DB文件自动增长设置为5MB,我想尝试不同的方法,所以我正在寻找建议和/或评论. 有一个调整任务在周日晚上1:30每周运行

我一直在通过sql server 2008 r2中的数据收集器监视文件增长两周.该数据库一直在以每天35(MB)左右的速度增长.数据库尚未达到2 GB的初始大小.

DB文件自动增长设置为5MB,我想尝试不同的方法,所以我正在寻找建议和/或评论.

有一个调整任务在周日晚上1:30每周运行一次.任务将:

>检查数据库完整性
>收缩日志文件 – (这是正常的,因为日志记录模式很简单)
>收缩数据库
>重组指数
>重建指数
>更新统计数据
>清理历史

我想在每周调整计划中增加两个步骤:

>如果已用空间达到特定阈值或总大小,则将数据库文件增大500 MB.
>如果已用空间达到特定总大小阈值,则将日志文件增加250 MB(缩小后).

通过将增长负担置于离线时间,我希望通过减少重载期间自动增长事件的数量来获得性能.

我有两个与自动生成文件有关的问题.

>放置文件增长步骤的最佳位置是在当前步骤之前还是之后?
>如果我使用ALTER DATABASE | MODIFY FILE来增长文件,那么如何确定SpaceUsedInFile> =(TotalFileSpace- @ AllowanceThreshold)?

解决方法

你应该尽可能少地自动成长.即使是即时文件初始化,一天七次也难以忍受.

不要做收缩数据库.永远.也许,收缩文件,但只有在特殊事件发生后.缩小它只是为了再次成长是徒劳的练习,实际上应该称为自动碎片.

如果恢复模型很简单,那么您无需将日志文件增长250 GB.文件中使用的空间会随着时间的推移自动清理,除非您在一个月前开始进行交易并且无意提交或回滚.

所以我的建议是:

在安静期间手动自动增长数据文件,使其大小可以容纳几个月的增长.在此期间你还节省了什么?

将数据文件的自动增长增量设置为相对较小的值(以便在事件发生时不会中断用户),并对此事件发出警报(例如,您可以在默认跟踪中捕获它,或通过扩展事件).这可以告诉您,您正在达到您估计的高点,是时候再次手动增长.此时,您需要保留本手册,以防您想在另一个驱动器上添加新文件/文件组以容纳空间,因为最终您将填充当前驱动器.

将日志文件自动增长到比以往最大的两倍.它不应该自动进一步增长,除非有一些异常的交易举起来.您也应该监控此事件,以便了解它们.

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读