我们只是在相同的规格硬件上将我们的Microsoft SQL Server从2005企业迁移到2008标准。 数据库被备份,然后恢复到干净的SQL 2008安装。 兼容性级别目前为90(2005)。 2005年没有使用企业function(因此版本降级)。 我们注意到与2008年相比,2008年的CPU利用率增长了10-12%。唯一的另一个变化是SQL 2005运行的是服务器2003 x64,2008运行的是服务器2008 x64。 我们没有使用任何全文索引。
数据库兼容级别会影响性能吗? 我们还没有重build任何指数或更新的统计数据,会有影响吗? 我们还应该找什么来影响性能?
我会build议重build索引。
是否有性能问题? 换句话说,您唯一看到的是CPU利用率的提高,但是交易率并没有降低?
如果应用程序现在每秒能够(和处理)更多的事务,那么处理器时间的增加完全有可能是由于更高的吞吐量。 如果有硬件差异,那也可能是原因。 移动之后,您应该更新数据库上的统计信息和索引,这可能会导致CPU的增加(但取决于应用程序)
兼容性级别只是指T-SQL语言的一致性级别,所以一般情况下不会有性能问题,除非您使用的代码已经被一个远远超出的方法所取代,在这种情况下,引擎可能不会像以前那样优化码。
您可以在这里find有关不同兼容性级别的文档。
数据库兼容级别大多影响SQL语法和查询parsing,不应该影响性能; 无论如何,如果你不是被应用程序问题强迫使用以前的级别,升级它被认为是最佳实践。
如果它是2个不同的服务器,那么它可能是磁盘IO(RAID设置?)。 我同意@Massimo在systax上。
兼容性级别不应该成为问题。
如果还没有完成,我将在该服务器上运行PerfMon,以查看是否可以确定增加的CPU利用率是来自SQL Server,Windows还是其他。