针对MSSQL 2005开发 – 主机只有MSSQL 2008

我一直在开发针对SQL Server 2005的ASP.NET应用程序。我打算使用的Web主机只支持SQL Server 2008.我的数据库中是否会有任何更改,以便在2008年可以使用? 我的数据库没有做任何特别的事情,但是我有什么缺陷需要注意? 主持人说,不应该有任何改变,但我想确保从没有销售议程的人:)

谢谢

有两件事你可以做。

1)查看SQL Server 2005中的“ 不推荐数据库引擎function”的Microsoft列表。 这列出了Microsoft打算在下一个(SQL Server 2008)和未来版本的SQL Server中停止使用的SQL Server 2005中的所有内容。

2)安装Microsoft SQL Server 2008升级顾问 。 这将分析你的SQL Server 2005安装,并告诉你升级到SQL Server 2008时是否会引起问题。

不太可能有问题,特别是如果你没有做什么奇特的SQL明智的,但这并不能保证,所以我会倾向于testing对SQL2008一定要 – 只要在快递版(这不会花费你)。

如果不在2008年重新testing,至less要确保所有新数据库都具有2005年的兼容性级别(90-请参阅这里了解更多信息)。 尽pipe如果你的代码(有意或无意)依赖于任何在SQL2005中(也许在之前)一直是相同的“未定义”行为,兼容性级别并不能保证完整的问题是自由运行的。

对于“主机说不应该有任何改变”:主机不像是一个SQL专家,他们是一个托pipe公司不是先进的数据库pipe理员或开发人员 – 他们可以合理地说与任何保证(IMO)是“我们有客户升级到2008年,他们没有任何问题,他们向我们报告”。 如果说2008年是他们提供的所有东西,那么说“是的,你可能必须testing以确保没有SQL2008的问题”也不符合他们的利益。

我一直在08本地开发和脚本化我的数据库,然后运行05上的脚本来重新生成我们的生产服务器上的数据库。 我避免使用08增强(嘿老板!升级会很好!),并没有任何问题,所以我怀疑会有其他方向的问题。

你应该理想的

  • 如果可能的话,对MSSQL 2008重新运行整个自动testing套件
  • 在您的testing实验室中对生产级硬件执行比较性能testing,以检查从MSSQL 2005到2008的性能回归
  • 如果可能的话,从生产中抽取大量查询,并对2005和2008的相同硬件实例并行运行,检查结果的差异,错误代码(生成错误时)和性能

任何exception情况都需要根据具体情况进行调查,以确定是否引起关注,或者需要对申请进行修改。

一旦完成了对应用程序的所有必要的修改,再次执行上述操作,如果没有发现更多的exception,则可以合理确信您不会有任何问题。

当然,我假设你的应用程序在其自动testing套件上有适当的覆盖范围; 许多不这样做,在这种情况下,你将不得不做很多手动testing。

应该没有问题。

编辑:不是说你不应该testing,而只是没有固有的“陷阱”。 SQL 2k5完全兼容2k8。