Sql-Server

在 SQL Server 2012 中修改連結伺服器定義 (Oracle)

  • February 8, 2016

我在 SQL Server 2012 中使用 Oracle Provider for OLE DB 和 TNSNAMES.ORA 創建了一個連結的 Oracle 伺服器(Oracle 數據庫是集群的,據我所知,沒有其他連接方法適用於集群伺服器)。這工作正常。

現在 Oracle 數據庫已經移動到另一個集群,所以我編輯了 TNSNAMES.ORA。Oracle SQL Developer 工作正常。

似乎 SQL Server 不會重新讀取 TNSNAMES.ORA 而是在內部儲存連接詳細資訊,因為即使在伺服器重新啟動後,所有查詢都會超時。

除了刪除和重新創建連結伺服器之外,有誰知道解決方案?

(這就是我為解決我的問題所做的,但它不應該那麼難!)

您如何解決問題就是解決問題的方法,因為我們無法修改連結伺服器。並且 SQL Server 不讀取 tnsnames.ora。

雖然解決方案是刪除並重新創建,但我們可以使用 SQL Management Studio 編輯刪除和創建腳本,如下所示:

  1. 右鍵點擊連結伺服器。

  2. 選擇Script Linked Server as

  3. 選擇New Query Editor Window

4.現在我們可以根據我們的要求修改腳本並執行。
這只是刪除並重新創建連結伺服器。

謝謝

是的,有必要刪除並重新創建連結伺服器。這只需要片刻,所以命中非常小。

同樣,沒有理由相信 SQL Server 會嘗試讀取不同關係數據庫的內部內容。

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