跨不同版本开发SQL Server的最佳实践

时间:2020-03-06 14:36:21  来源:igfitidea点击:

扩展此问题,针对SQL Server 2005和SQL Server 2008进行开发的最佳方法是什么?

我想看看是否可以在当前的Vista 64计算机上使用Orcas技术,并且由于SQL Server 2005要安装存根版本的Visual Studio 2005,所以我想避免使用它。但是,在可预见的将来,部署我的技术的大多数地方都在SQL Server 2005上。

因此,最好的做法是:

  • 仅在我的开发计算机上安装SQL Server 2008,并且仅了解2008特定功能
  • 在我的开发计算机上的单独实例上安装SQL Server 2008和SQL Server 2005,并根据生产项目的要求针对这两种情况进行开发
  • 仅在我的开发计算机上安装SQL Server 2008,在其他计算机(例如测试服务器)上安装SQL Server 2005
  • 仅在我的开发计算机上安装SQL Server 2005,并在其他计算机(例如测试服务器)上安装SQL Server 2008

解决方案

所提到的问题建议更改数据库兼容性级别,这是一个短期解决方案,不会轻易实现自动化。

进行自动化测试很重要,如果我们阅读堆栈溢出,我们可能会同意。

我要说的是同时运行MS SQL Server 2005和2008.
然后,假设我们运行单元测试,请始终对两个服务器都对数据库代码进行单元测试。

最安全的做法是针对我们支持的最旧的数据库服务器进行编码。这个版本很可能给我们带来麻烦。总的来说,新版本的数据库将具有向后兼容性,以支持TSQL和构造。在使用较新版本的数据库(而不是目标数据库)时,将不支持的代码引入组合非常简单。

我们需要针对SQL Server的最旧版本进行编码,以便我们不会开始使用直到最新版本才可用的功能。
尽管不一定不一定要保证新版本会继续支持旧功能,但是最好的确认方法是运行Microsoft自己的SQL Server最佳实践分析器,该分析器将通知我们兼容性问题。