我們的數據庫位於SQL Server 2000上。我們正在遷移到SQL Server 2008 R2。在服務器上執行之前處理SQL語句
我們要更新的兼容級別爲100
但連接操作*=
和=*
沒有更多與兼容級別的支持。
建議的解決方案是更新我們的源代碼並將操作員更改爲OUTER JOIN
。
但是我們不能承受千exe和dll的修改。所以我們無法更新我們的源代碼;有太多的項目。
我的問題是:
有沒有在SQL Server 2008 R2的任何系統,這將讓我:
- 捕獲的SQL語句是執行
- 更新語句(如更換前
*=
byLEFT OUTER JOIN
) - 將修改後的語句返回給SQL Server引擎執行
這種方法將允許我們設置兼容級別設置爲100,即使我們的方案仍然使用舊的語法
感謝
(附:這個問題一直是橫貼在dba.stackexchange)
即使這種伎倆是可能的,我絕對建議不要這樣做!我向你保證,這是一個可怕的方法,從長遠來看不會有幫助。 – jazzytomato 2014-12-05 16:43:27
我知道這一點。如果技巧存在,我們只會將它用於舊項目。不是新的。 – podosta 2014-12-05 16:45:47
'建議的解決方案是更新我們的源代碼並將操作員更改爲OUTER JOINS' - 聽起來像是很好的建議。它可能比嘗試去做你所要求的更快,更不容易出錯。 – Donal 2014-12-05 16:57:11