我们的服务器上有几个数据库。
我们想将这些数据库升级到SQL 2008。
有没有机会在2008年的某些应用程序function上运行于2005年?
有人告诉我,SQL 2008与2005年是100%向后兼容的。
没有发布的SQL是100%向后兼容。 每个发行版都有一个很好logging的已过时和不顺应function列表,SQL Server 2008也不例外。 该列表在SQL Server数据库引擎向后兼容性发布 。 这包含SQL 2008不再支持的function列表,如:
另外,如果没有充足的单挑警告,就不会停止SQL Serverfunction。 SQL 2008中不满意的所有function都在SLQ 2005的不赞成使用的function列表中。您可以使用SQL Profiler来监视SQL 2005应用程序并观察事件:
每当您的应用程序使用“endagered”列表中的function时,第一个事件就会触发。 第二个事件将在您使用将在下一个版本中停用的function时触发。
最后,它是针对不build议使用的function的SQL性能计数器,请参阅我使用哪些不推荐使用的function? :
select instance_name as [Deprecated Feature] , cntr_value as [Frequency Used] from sys.dm_os_performance_counters where object_name = 'SQLServer:Deprecated Features' and cntr_value > 0 order by cntr_value desc
在所有可用的文档和基础设施之间监视已弃用的function,您有很多方法来确定您的应用程序是否使用任何已停用的function。
现在说,除非你使用SQL Server 6.0的黑暗时代的function。 您的应用程序可能会在SQL Server 2008上运行受到影响。升级有很多原因,主要是我总是引用页面压缩 ,这在文档上是一个免费的性能提升(我夸大了戏剧性的效果,但只是略微)。
你应该继续升级,但要聪明:
因此,取决于你的数据是多么pre you,你想要应用全部,部分或全部以上。 我可以说,如果你是在“全部”船上,你可能不会问这个问题,所以上面的一些build议可能适用于你。
我们无法告诉您您的应用程序将执行什么操作。
我认为你最好采取的行动是安装第二台运行SQL Server 2008的服务器,将数据库迁移到SQL Server 2008(可能是一次缓慢),如果有任何问题切换回SQL Server 2005服务器。
这确实需要两台服务器(物理的或虚拟的),但是无论在哪种情况下都能给您提供完美的可恢复性。
一个好的testing是运行Microsoft SQL Server 2008升级顾问。 Microsoft SQL Server 2008升级顾问分析SQL Server 2000和SQL Server 2005的实例,为升级到SQL Server 2008做准备。升级顾问确定可能影响升级的function和configuration更改,并提供指向每个已识别问题的文档的链接,以及如何解决它。
你可以在这里免费下载: http : //www.microsoft.com/downloads/details.aspx?FamilyID=f5a6c5e9-4cd9-4e42-a21c- 7291e7f0f852& displaylang=en
你可以在生产环境中运行它,但正如上面所说,testing环境总是最好的。