我新安裝的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