Sql-Server

我可以通過相對路徑進行跨數據庫或跨伺服器引用嗎?

  • September 5, 2017

我有兩個數據庫,db1db2,在兩個不同的伺服器server1server2上執行,並且db2有一些儲存過程可以修改db1上的表列。

在這些儲存過程中,我們使用連結伺服器和完全限定名稱來引用db1上的表,例如[server1].[database].[dbo].[table1].

現在,我們決定將db1server1遷移到server2。遷移後,db1db2都將在server2上執行。

問題

  • 我是否必須修改每個跨伺服器引用以刪除[server1]儲存過程中的名稱?
  • 是否可以通過相對路徑定義跨數據庫或跨伺服器引用,這樣就不需要每次兩個數據庫更換伺服器時都修改它們?

謝謝你。

假設,遷移後,您完全不需要此連結伺服器到Server 1,那麼您應該能夠刪除並重新創建它,使用相同的名稱但指向目前/本地實例(即Server 2)。這稱為“回環”,允許程式碼不加修改地繼續工作。

但是,這是一個短期解決方案,因為如果您不需要,您不想通過連結伺服器。您應該瀏覽所有程式碼並刪除[Server1].引用。這種環回連結伺服器只是一種爭取時間慢慢進行這些更改的方法,而不是需要預先完成所有更改。

引用自:https://dba.stackexchange.com/questions/185108