我有一个 SQL 2005 数据库,其中有一些由其他人设置的维护计划。一大早在所有数据库上运行更新统计信息。这似乎导致 tempdb 被填满,从而破坏了当时正在运行的其他一些维护任务。它现在至少有一个星期没有成功运行。我已经将自动更新统计设置为 true,所以我什至需要每天早上运行更新统计吗?还有其他维护计划,包括每晚重新索引作业,我不知道是否需要更新统计信息。
谢谢,
我有一个 SQL 2005 数据库,其中有一些由其他人设置的维护计划。一大早在所有数据库上运行更新统计信息。这似乎导致 tempdb 被填满,从而破坏了当时正在运行的其他一些维护任务。它现在至少有一个星期没有成功运行。我已经将自动更新统计设置为 true,所以我什至需要每天早上运行更新统计吗?还有其他维护计划,包括每晚重新索引作业,我不知道是否需要更新统计信息。
谢谢,
虽然 Update Statistics 使用了 tempdb(点击此处了解更多关于 Linchi 的博客)不应该真的把它搞砸,除非它被设置得非常小。
尽管您已打开自动更新统计信息,但建议您定期更新所有查询的统计信息,以利用反映最新数据分布的最新统计信息。
回答您的问题是的,您可以关闭该工作,但您可能希望考虑将更新统计工作合并到您的常规维护计划中,其中用“sp_updatestats”替换显式的“更新统计信息”,这只会更新那些表上的统计信息需要它。
此外,作为最佳实践,您可能希望仅考虑重新组织碎片少于 30% 的索引并仅重建碎片超过 30% 的索引。更多信息可以在页面底部的 D 部分下找到http://msdn.microsoft.com/en-us/library/ms188917.aspx
希望这可以帮助。
可以禁用“更新统计信息”设置 - 我不知道您为什么为此有单独的维护任务 - 请记住,如果您想更新任何查询计划,则需要运行 UPDATE STATISTICS。
如果您重建索引(如果索引没有碎片,也不需要每天),统计信息会自动更新。