我新安装的SQL Server 2008 R2与选择选项安装向后兼容性(添加删除程序显示向后兼容性安装) 然后我运行我的SQL脚本来升级旧的数据库,但它引发异常,如“该查询使用非ANSI外部加入“(见图像确切的错误)。 (SQL分析器说:SQLDMO_1抛出错误)。是否有任何区别SQL Server R2向后兼容性MSI VS下载SQL Server 2005向后兼容性MSI?
但是,当我安装SQLServer的向后兼容性(SQLServer2005_BC.msi从网站下载)明确,做同样的升级换代,它的成功合作。
我不知道为什么会发生?
我比较了两个SQLDMO.DLL(Sql服务器安装一个和SQL服务器一个),但两者似乎都很好。 有没有人得到同类问题或任何建议?
更新: 不,它不是与安装向后兼容性相关的问题。最近发生了同样的错误,我认为这将通过安装兼容bakward的msi来解决,但它并未解决。
所以仍然是原因悬而未决。
当然真正的问题是,您不应该使用SQL Server 2000中甚至不使用的外部连接。Thay有时可能会被错误地解释为交叉连接。修复代码 - 即使您使用兼容模式,也会导致不可靠的结果,这是不正确的代码。 – HLGEM
@HLGEM好吧,它确实是一个糟糕的代码。但是代码是在10年前编写的,它不是100或200 LOC,1000是1000s。无论如何,我必须解决的是,但我现在无法做到。直到必须看到替代品,而且我专注于它为什么会发生?不在做什么? – PawanS