Sql server SQL Server 2019开发者版性能低下

Sql server SQL Server 2019开发者版性能低下,sql-server,Sql Server,我们在生产环境中使用SQL Server 2008 R2,我们正在考虑升级到SQL Server 2019 因此,我刚刚在我的计算机上安装了SQL Server 2019 Developer Edition来进行测试,从生产服务器获取一个新的备份,并在我的计算机上进行恢复 我的计算机上也安装了SQL Server 2008 R2,因此我期待着进行一些并行性能比较 SQL Server 2008 R2和SQL Server 2019都安装在同一个nvme驱动器(C:)上,并且两个实例都安装在同一个

我们在生产环境中使用SQL Server 2008 R2,我们正在考虑升级到SQL Server 2019

因此,我刚刚在我的计算机上安装了SQL Server 2019 Developer Edition来进行测试,从生产服务器获取一个新的备份,并在我的计算机上进行恢复

我的计算机上也安装了SQL Server 2008 R2,因此我期待着进行一些并行性能比较

SQL Server 2008 R2和SQL Server 2019都安装在同一个nvme驱动器(C:)上,并且两个实例都安装在同一个驱动器上,但是SQL Server 2019 tempdb安装在另一个驱动器上(D:)

在SQL Server 2008 R2上运行特定存储过程需要1:43s,在SQL Server 2019上运行特定存储过程需要3:41。。。我将该存储过程运行了十几次,结果大致相同(加/减几秒钟)

在存储过程执行期间,磁盘IO的读写速度几乎没有达到6MB/s,SQL Server 2008 R2和SQL Server 2019的CPU利用率都在10%左右

我重新启动了计算机,并首先在2019实例上再次运行存储过程,结果相同(我担心SQL Server 2008 R2不知何故占用了所有可用内存,但事实并非如此)

因此,我尝试了所有这些方法,在此期间再次运行存储过程,以检查是否有任何改进:

  • 重新启动
    • 删除了SQL Server 2008 R2和SQL Server 2019数据库,并再次进行恢复(只是为了确保数据集完全相同)
    • 我关闭了Windows Defender
    • 我确保SQL Server 2008 R2和SQL Server 2019都使用相同的系统帐户
      LocalSystem
      ,以启动引擎
    • 在SQL Server 2019中,我将DB
      compat级别从2008(10)更改为2019(15)
    • 在SQL Server 2019中重建主索引(担心2019无法充分利用2008 R2创建的索引)
    • 已将SQL Server 2019 tempdb移动到与数据库相同的驱动器(C:)中(与SQL Server 2008 R2上设置的驱动器相同)
我能看到的唯一区别是,我的SQL Server 2008 R2是一个
默认实例
,而SQL Server 2019是一个
命名实例
,但我甚至想不出为什么这会对性能产生如此大的影响

开发者版是否有某种性能损失


我错过了什么?

首先,您错过了优化器近11年的开发。SQL Server 2019的优化器和引擎的工作方式完全不同,即使compat级别被调低。请注意,“不同”并不一定意味着“每种情况下都更快”。先不要麻烦硬件,比较执行计划!(2019年至少提供了查询存储,这使得收集和比较执行计划变得更好。)IIRC Developer Edition实际上与Enterprise相同,只是未获得生产使用许可。所以它是正确的,是的。@Jeroen谢谢你的建议。。。我无法阻止任何差异,除了一些小的“成本%”。。。我还收到了2条“缺少索引”消息,但它们也出现在SQL2008R2执行计划中。我将进一步探讨这个问题。你有更新的统计数据吗?在新系统上进行恢复时,我会随时重建所有索引(您这样做了),并更新所有统计信息。另一件事:问你这样的问题更好的地方是(如果你问的是同一个问题,请删除这里的问题,在Stack Exchange上不允许交叉发布)。