我繼承在MS SQL2008 R2大遺留系統引用遠程MS SQL數據庫。從存儲過程
有大量引用另一個數據庫的存儲過程:
select * from MySeparateDatabase_LIVE.dbo.MyTable
select * from MySeparateDatabase_STAGING.dbo.MyTable
select * from MySeparateDatabase_TEST.dbo.MyTable
不幸的是所有的活,分期和測試數據庫在同一SQL實例和公司的限制意味着這不會很快改變。
問題來試圖從測試更改推送到分期和生活。它需要大量的手動編輯或查找/替換 - 這會在關鍵系統上引入潛在的錯誤。
我可以採用什麼技術來使用完全相同的SP在每個數據庫上?
你能提供一個更好的片的示例代碼。沒有理由你的示例代碼不會在每個數據庫上執行。 – gvee
@ gvee第一個查詢位於名爲dbLive的數據庫中,第二個查詢位於名爲dbStage的數據庫中。每個數據庫都應該引用其「伴隨」數據庫,但是爲了這樣做,當代碼從測試數據庫移動到臨時數據庫時,代碼當前必須更改。 –
如果您正在使用存儲過程,則可以將MySeparateDatabase_XXX部分作爲參數傳遞。這會將你的問題轉移到你的SP被調用的部分,所以這可能是也可能不是解決方案。 – Sam