在我的夜间维护计划中,我正在做所有事情 – 重新组织和重建索引,更新统计数据等.每小时维护计划执行事务日志备份.
我注意到每晚重建后立即进行的事务日志备份很大 – 而且有一点研究告诉我,这是因为重建索引等是记录操作.
我不希望通过备份索引重建日志来增加备份系统的负担.因此,我打算按夜间计划改为:
>重建索引,更新统计数据等
>使用NO_LOG进行DUMP交易(哦,这些天显然被称为BACKUP LOG测试,有TRUNCATE_ONLY)
>收缩日志文件
>执行完整数据库备份
问题:
>这个计划有问题吗?
>将日志截断包含在维护计划中的最佳方法是什么?
>我刚刚读到,包括重组和重建索引都是多余的.我应该如何确定哪个是适合在夜间计划中使用的?
解决方法
是的,同时进行组织和重建是多余的.你应该做一个或另一个,但不是两个.
在大型表上,我不会进行自动重建.我会运行一个自定义脚本来确定碎片是否超过阈值,并仅在超过阈值时才进行重建.有些人使用40%的重建百分比.
用于适当重建/重组数据库索引的脚本
https://blogs.msdn.com/b/joaol/archive/2008/01/28/script-to-rebuild-and-reorganize-database-indexes-sql-server-2005.aspx
http://www.sql-server-performance.com/2007/rebuilding-indexes
http://www.tekrhythm.com/2012/01/21/sql-script-to-rebuild-indexes-more-intelligently