我们刚刚在相同规格的硬件上将我们的 Microsoft SQL Server 从 2005 企业版迁移到 2008 年标准。数据库已备份,然后恢复到干净的 sql 2008 安装。兼容性级别目前为 90 (2005)。2005 年没有使用任何企业功能(因此版本降级)。我们注意到,与 2005 年相比,2008 年的 CPU 利用率增加了 10-12%。唯一的其他变化是 SQL 2005 运行的是服务器 2003 x64,而 2008 运行的是服务器 2008 x64。我们没有使用任何全文索引。
数据库兼容性级别会影响性能吗?我们没有重建任何索引或更新统计数据,这会产生影响吗?我们还应该寻找什么可能会影响性能?
我建议重建索引。
https://stackoverflow.com/questions/1531372/should-i-rebuild-table-indexes-after-a-sql-server-2000-to-2005-database-migration
有性能问题吗?换句话说,您看到的唯一情况是 CPU 利用率增加,但事务率没有下降?
如果应用程序现在每秒能够(并处理)更多事务,则处理器时间的增加完全有可能是由于更高的吞吐量。如果存在硬件差异,那也可能是原因。您应该在移动后更新数据库上的统计信息和索引,这可能会导致 CPU 增加(但这取决于应用程序)
兼容级别仅指 T-SQL 语言兼容级别,因此通常不会影响性能,除非您使用的某些代码已被更优越的方法取代,在这种情况下,引擎可能不会针对旧的方法进行优化代码。
您可以在此处找到有关不同兼容性级别的文档。
数据库兼容级别主要影响 SQL 语法和查询解析,应该对性能没有影响;无论如何,如果您没有因应用程序问题而被迫使用以前的级别,那么升级它被认为是最佳实践。
如果它是 2 个不同的服务器,那么它可能是磁盘 IO(RAID 设置?)。我同意@Massimo 的系统税。
兼容性级别应该不是问题。
如果您还没有这样做,我会在该服务器上运行 PerfMon,看看您是否可以确定增加的 CPU 利用率是来自 SQL Server、Windows 还是其他什么。