如何使应用程序完全兼容SQL Server 2005?

时间:2008-10-28 10:56:47

标签: sql-server sql-server-2005 smo sqldmo

我们有一个使用MSSQL的应用程序,当我们迁移到2005年时,基本上我们建议我们的客户端应用向后兼容包,就是这样,但有人问我该如何做到2005年100%兼容。 我在考虑 1.兼容级别:SQL Server 2005(90) 2.删除任何DMO参考,并由SMO替换 3.使用ADO连接

我不确定这是否是正确答案。

3 个答案:

答案 0 :(得分:1)

实际上你在谈论两件不同的事情。

一种是将数据库更新到SQL 2005级别,以便能够使用仅在那里可用的功能。通过设置兼容级别可以轻松完成。但是在这种情况下,SQL 2000客户端可能会遇到问题。

其次是将应用程序升级为仅使用SQL 2005相关库。这也很简单,基本上就是你所写的步骤。在这种情况下,您的应用程序也可以使用SQL 2000数据库(除非您使用某些SQL 2005特定功能),因为这些库是向后兼容的。

结束语:您与SQL 2005兼容兼容,唯一的区别是您可以使用SQL 2005 特定功能

为什么不更改为SQL 2008? Here is a thread关于此主题。

答案 1 :(得分:1)

要查看您是否真的兼容,唯一的方法是在没有向后兼容包的SQL 2005服务器上运行您的应用程序。如果你有一个详尽的测试套件,它会有很多帮助,但你需要确保你的所有后端代码都被击中并正常运行。

我曾经使用过使用SQL 2000和SQL 2005的应用程序,并且需要版本切换的应用程序的唯一位在一些毛茸茸的反射代码中,需要使用SQL Server的系统表在运行时动态发现表。我们的解决方案是使用动态SQL,但您需要为您的应用和用户做出正确的选择。

如果应用程序在“开箱即用”的SQL 2005配置中正确运行而没有应用任何向后兼容性修补程序,那么您的应用程序是100%兼容SQL 2005的。

答案 2 :(得分:0)

如果您有任何DTS包,则需要将它们转换为SSIS包才能完全兼容。

如果您确实希望确保完全兼容,请查看文档中哪些功能已弃用,如果您使用其中任何功能,请立即修复它们。

你也可以查看你所拥有的任何可以使用不在2000年的数据透视功能的代码。旧代码可以使用,但数据透视代码将是更好的选择,可能更有效。与其他新功能相同,请查看您是如何解决它们并进行修复的。要考虑的一个重要问题是,如果您可以使用新数据类型varchar(max)删除文本文件。然后在代码中查找要转换为varchar的位置以进行比较。