SQL Server 2005 和 2008 R2 之间的 View Dependencies 性能差异很大

Mar*_*rco 4 performance sql-server sql-server-2008-r2 query-performance

背景

我是一名初出茅庐的 DBA,在从 SQL Server 2005 x64 迁移到 2008 R2 x64 的过程中被聘用。我们还从本地服务器迁移到 colo 虚拟服务器,并将我们的一些数据库移动到第二个虚拟服务器,希望减轻承载 Sage MAS 500 系统的主 SQL Server 的一些负载。

不幸的是,尽管虚拟服务器比旧的 2005 年服务器拥有更多资源,但我们一直遇到性能问题,我的任务是修复这些问题。我没有取得太大进展,但今天我注意到了一些奇怪的事情:

我一直在检查各种表和视图的依赖关系,并注意到从 2008 R2 获得结果所需的时间(尤其是在查看依赖于相关视图或表的对象时)比在旧的 2005 服务器上花费的时间长得多. 此外,在某些情况下,即使自迁移以来表/视图没有变化,也会返回不同的结果。在我检查 2008 R2 服务器时,几乎没有任何活动,因此资源不应该成为问题。

在我看来,这是我们问题的征兆。有没有想到为什么视图依赖性能会有如此巨大的差异,或者有人可以指出我的调查方向吗?

RBa*_*ung 5

2008r2 的“查看依赖关系”功能是从 2005 版本完全重写的。这是因为 2005 版本不起作用。

因此,结果可能会有所不同(即它们现在应该是正确的)也就不足为奇了。有点出乎意料的是 2008r2 版本可能会更慢,但并不完全令人惊讶,因为它毕竟使用了一种完全不同的方法。

所以,我的猜测是这种现象与您的其他问题几乎没有关系。

  • 谢谢,有道理。事后看来,将 SQL Server 升级到 2008 R2、切换到虚拟服务器并一次性迁移到数据中心可能不是最好的主意,但不幸的是我没有参与计划 - 我只是处理掉出来。嗯,我要把它当作一种学习经验。在过去的两天里,我已经比我希望的更多地了解了等待状态。 (2认同)