【问题标题】:sql server restore to newer version, index best practicesql server 恢复到较新版本,索引最佳实践
【发布时间】:2013-04-02 17:30:32
【问题描述】:

我在一个站点,他们将 sql server(数据仓库)从 2005 年升级到 2008 年。我的理解总是重建每个索引并在从以前的版本恢复后更新所有统计信息。如果不立即重建,会不会对性能造成很大影响?停机时间是一个问题,所以我必须一次安排一些重建时间。

提前致谢。

【问题讨论】:

  • 你在哪里读到你应该总是重建?更新统计数据,是的。更新兼容性级别(经过测试),是的。重建?我不确定这是否总是有益的。另请记住,在 Enterprise Edition 上,您可以在线重建。

标签: sql-server sql-server-2008 sql-server-2005 sql-server-2008-r2


【解决方案1】:

SQL Server 备份是执行备份时数据库的映像。您不需要重建索引或更新统计信息,因为恢复的数据库的索引将具有与执行备份时相同的碎片。

【讨论】:

  • 虽然重建统计数据确实是最佳实践,因为它们的内部格式和功能已经改变。
  • 我不确定是怎么回事,考虑到 db 文件版本之间的版本升级步骤会将数据类型从备份更新为新版本表示。您可以在恢复后验证统计信息是否相同,merlecarr.wordpress.com/2011/02/27/…
  • 几年前我在最佳实践文档中阅读过它并试图确认。它说明了由于优化器在版本之间发生了变化,旧的统计数据并不总是对新的优化器有用。
  • 旧的统计信息仍然有效,而且升级时 SQL Server 确实不会触及它们。但是,如果它毫无用处,他们为什么要引入一种新格式呢?它必须包含更多信息或以其他方式更好。因此,您应该手动更新它们以确保获得最佳性能。
  • 还有其他类似的东西。例如不会自动执行的数据纯度检查。但是您可以手动执行它们,SQL Server 会记住您执行此操作,因此它现在可以比以前更信任数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-17
  • 2011-04-01
相关资源
最近更新 更多