2012-03-15 47 views
0

我有2個數據庫(db1,db2) - SQL Server。 而且每個數據庫使用另一個存儲過程,函數如何使用2個彼此相關的數據庫

在DB1:

select * from db2.dbo.users 
在DB2

select * from db1.dbo.items 

的問題是,在過程中是硬編碼的數據庫名稱。 現在我們要在此服務器上添加數據庫db1_test,db2_test。

什麼是最簡單的方法來解決此問題,而無需更新所有程序,具有新數據庫名稱的函數。

謝謝!

+0

沒有更新是不可能在相同的服務器相同的實例。但你可以很快更新。首先創建一個所有存儲過程和函數和視圖的腳本到一個新的查詢窗口。然後使用** Find和Replace **(ctrl + F)查找(db1。)並替換(db1_test。)。接下來將腳本應用於新數據庫(db1_test)。對db2_test也做同樣的事情。 – Kaf 2012-03-15 16:04:08

+0

沒有辦法爲數據庫創建別名。 – inser 2012-03-15 16:15:50

回答

0

您可以在單獨的實例或服務器上擁有它。測試和產品數據庫不應該駐留在同一個盒子上,更不用說同一個數據庫了。在一個理想的世界裏。

+0

是的,我同意你的意見。但數據庫現在是開發者。都。 – inser 2012-03-15 16:04:26

+0

「現在」?總是試圖發展,如果它正在投入生產。將來會讓你頭痛。特別是如果它不是太麻煩。 – 2012-03-15 16:25:12