移动数据库,现在存储的程序运行缓慢

时间:2012-05-01 19:27:48

标签: sql-server sql-server-2005

我正在将数据库备份从SQL Server 2000迁移到SQL Server 2005.

他们运行的硬件是等效的。

鉴于此,在SSQL2005上运行时,存储过程不应该至少运行得那么快(如果不是更快)?数据完全相同。但是,它们运行速度慢了5倍。

我将数据库重新编制索引并在将其恢复到SSQL2005后重置其统计信息。

傻眼.....

仅供参考,在制作转储文件时,我确保它们已经过校验和验证。

我创建了2个单独的备份,并使用2个备份执行此操作并获得了相同的结果。

3 个答案:

答案 0 :(得分:2)

确保更新数据库的兼容级别:

ALTER DATABASE dbname SET COMPATIBILITY_LEVEL = 90;

还要确保更新(或重建)索引的统计信息。

当然,您需要确保修补SQL Server 2005 - 您是否安装了Service Pack 4latest Cumulative Update

答案 1 :(得分:1)

SQL Server 2000和2005之间存在许多差异。所以这当然不是不可能的。

假设数据和索引都是一样的,我首先会看一个代表性程序的执行计划 - 如果它们不同,那么有些东西需要在那里进行调查,这可能包括参数嗅探问题。 / p>

如果所有这些都可以解决,那么接下来您可能需要深入了解文件位置,以查看数据和日志文件在驱动器和底层RAID等方面是否设置不同。然后再到性能计数器等。

更新: 尝试使用T开关4199,http://msdn.microsoft.com/en-us/library/ms188396.aspx获取可用的开关等。另外请确保安装了最新的累积更新包。

答案 2 :(得分:1)

实际上 - 从我在Microsoft SQL Server Level 3支持时的时间 - 有很多问题,其中一个问题迫使2000数据库在2005年运行速度极慢。这是查询优化器IIRC的一个问题(3年忽略设置表扫描的成本,并因此看到一个小的表扫描成本低,这是昂贵的(大量的开销)所以循环。我记得一个案例在2005年接受了“永不完成”的询问。

有一个启动开关强制旧行为,但我不记得了。试着找到它。