你曾经有过SQL Server 2008返回与SQL Server 2000不同的结果集吗?

时间:2011-04-25 20:49:49

标签: sql-server-2008 sql-server-2000

我不是在寻找有关我的存储过程的实际代码的帮助(但无论如何),但客户端向我发送了他的SQL Server 2000数据库的副本,说明特定的proc返回了错误的结果;我将数据库恢复到我的服务器(SQL Server 2008R2)并运行proc,它产生了正确的结果。请记住,没有可能导致差异的前端 - 在这两种情况下,我只是执行proc thru企业管理器和管理工作室。

我想知道是否有任何已知的差异可能导致/导致此问题?这个特定的proc使用了很多条件逻辑,默认参数,甚至有一个游标来做一些循环逻辑,但任何关于可能的区域的建议都会有所帮助。

编辑:为了澄清,返回的行数和列数是相同的,但对于特定列(对于某些行,取决于数据字段的值),该数字应该是它应该的两倍。 2008给出了“正确”的答案。 '2000'给出了错误的答案,即双倍金额。

2 个答案:

答案 0 :(得分:3)

有很多事情可能导致此问题,包括(但不限于)整理和系统设置。如果我们看到SP,我们可能会发现罪魁祸首。除了部署中的更改之外,版本之间存在差异,请参阅

http://msdn.microsoft.com/en-us/library/ms143179(v=sql.100).aspx

http://msdn.microsoft.com/en-us/library/ms143179.aspx

答案 1 :(得分:2)

订单的视图不会在SQl Server 2008中订购,请参见此处:Create a sorted view in SQL Server 2005 and SQL Server 2008

当你说错误的结果时,你的意思是什么? 如果您将日期作为字符串传递并且您没有使用ISO /安全格式,则SQl服务器安装的语言也可能是因素

也可以是来自客户端数据库的连接的ANSI设置

也许他们有ANSI_NULLS OFF而不是ON