Sur*_*raj 5 sql-server-2005 sql-server maintenance dbcc-checkdb
我有 SQL Server Agent (2005) 作业,定期对任何高度碎片化的索引执行 CHECKDB 和碎片整理 (ALTER INDEX REORGANIZE/REBUILD)。这些是典型的维护最佳实践。我想知道我应该将这些作业应用到哪个系统数据库?现在我只在 master 上运行 CHECKDB,我依稀记得设置它,因为我在某本书上看到过它。
那么,我应该针对以下哪项执行 CHECKDB 和/或索引碎片整理?
在我看来,一般的 checkdb 实际上只适用于 master 和 msdb。model 或 tempdb 中不应该有易失性数据(Kin 指出了一篇关于 tempdb 中损坏的好文章 - 如果您迁移到更现代的 SQL Server 版本,问题应该少得多)。我不会费心对 tempdb 进行常规操作,但只有在您确实收到损坏报告时才处理它。恕我直言。如果您已将用户对象添加到模型中,以便在每个新数据库中创建它们,则可能会增加那里的风险,因此您可能需要包含它。通常它很小,所以无论如何包含它也没有什么坏处。
对于碎片整理,MSDB 实际上是您应该担心的唯一数据库(特别是如果您的备份历史记录和作业历史记录表不受控制地增长)。如果您将用户表放在那里,Master 将是一个候选者,但我宁愿通过完全删除它们来解决这个问题,而不是尝试优化它们。如上所述,您不应该在模型中频繁更改数据,并且 tempdb 也不应该有任何永久对象,因此对其进行碎片整理要么是浪费,要么是虚假的,或者两者兼而有之。
归档时间: |
|
查看次数: |
2116 次 |
最近记录: |