SQL Server 2005,维护计划建议
Posted
技术标签:
【中文标题】SQL Server 2005,维护计划建议【英文标题】:SQL Server 2005, Maintenance Plan suggestion 【发布时间】:2009-04-15 03:38:28 【问题描述】:我需要一些关于 SQL Server 2005 维护计划的建议,这里有一些问题:
-
哪些任务适合/适合日常维护,哪些适合每周/每月维护
在执行某些任务时数据库是否需要离线,例如:重组/重建索引、缩小数据库等...(因为我们需要保持 90% 的正常运行时间)
检查数据库完整性、重组/重建索引、清理历史记录可以多长时间?
我们是否应该同时重组和重建索引?
重组索引后是否需要更新统计信息?由于重建索引将自动更新统计信息
在我们的例子中,每周 7 天,每天 24 小时,每 1 分钟(每分钟仅 200 条记录)输入数据。
有人可以建议我对这个数据库有什么好处的维护计划吗?
谢谢, 德尔斯
【问题讨论】:
【参考方案1】:维护计划确实取决于您的数据库进程。由于每分钟都会输入数据,所以您是否有任何 rollup 和 etl 进程在运行?
我可以告诉您的最重要的过程是您的数据和事务日志的每日备份(磁带和磁盘)。
使用查询计划分析器检查任何运行缓慢的查询,您可能需要根据需要每天或每周重新索引一些表。您可以在 SQL Server 2005 企业版中进行在线重新索引,这意味着您不需要离线。
通过创建维护计划来制定良好的流程,并通过创建计划作业尽可能地实现自动化。
【讨论】:
我希望你能逐点回答,但感谢您指出重要的事情。顺便说一句,我对您的说法“您可以在 SQL Server 2005 企业版中进行在线重新索引,这意味着您确实需要离线”感到困惑,它可以在线但我需要离线? 您好 Dels,我进行了更正。 '你不需要你的系统离线'【参考方案2】:两个字:灾难恢复
最好的计划是您已经测试过的计划。
制定灾难恢复计划,看看您可以从该计划中恢复多少现有系统。记下任何问题并找到解决方法,然后重新运行灾难恢复。您会发现这将帮助您做出决策并确定需求的优先级。
最好同时使用 O/S 还原和 SQL 服务器还原。
还有一些建议:设置一个 O/S 计划任务来执行 master、model、mssqlsystemresource 数据库的文件系统副本。这将为您省去烦恼,并且不必在单用户模式下运行 SQL 服务器来尝试从备份中恢复您的主数据库。
拥有备份固然好,但如果您从不测试恢复,那么您的备份就毫无价值。
【讨论】:
是的,我有一个灾难恢复,我使用复制事务超过 2 个目标数据库,并在每个午夜(每天)定期进行完整备份,我已经测试了如何从数据错误中恢复,我需要知道什么是关于维护数据库【参考方案3】:为了保持性能并确保数据库一致性, 我通常每晚都运行以下任务:
1) 备份数据库 (通常这是一个完整备份。但是,如果数据库非常大,则每周周末运行一次完整备份,每个工作日运行一次增量或差异备份)
2) 重建所有索引 (这也会自动重组所有索引,因此不需要重组步骤。)
3) 更新数据库统计数据 (仅需要 Column 统计信息,因为其他统计信息由之前运行的 Index Rebuild 自动更新)
4) 验证数据库完整性 (这是最重要的一步,因为它可能会被几乎任何东西破坏,并且仍然可以正常运行一段时间,同时所有数据都变得越来越损坏。)
5) 通过电子邮件通知操作员成功 (您必须同时发送成功和失败。如果您只发送失败,那么服务器可能有另一个问题阻止发送失败电子邮件,然后他们永远不会知道。)
6) 清理文件 (根据驱动器空间,您将需要删除旧备份。如果有空间,我会尝试保留至少几周的价值,但随着数据库的增长,需要检查这一点,并可能将其减少到一个或两个完整备份。)
7) 清理历史记录 (维护计划日志历史不是很大,因此您可以保留很长的历史记录,而不必担心空间太大。当您遇到一个已经失败很长时间的数据库时,查看它何时开始失败有时会很有帮助并用它来向监控它的人指出它没有被适当地监控成功。)
注意:请务必将备份从主数据库服务器复制并存储在异地。
【讨论】:
以上是关于SQL Server 2005,维护计划建议的主要内容,如果未能解决你的问题,请参考以下文章