Sql-Server

合併緊密耦合的 SQL Server 實例的最佳方法

  • December 25, 2016

我正在為以下場景尋找一些建議或最佳實踐:

  • 我需要將幾個 SQL Server 2014 實例合併為一個(我們正在從多個實例切換到單個集群實例)。
  • 這次合併的範圍是大約 10 台伺服器和 400 個數據庫。
  • 源實例是非常緊密耦合的。有許多連結伺服器,以及許多使用它們的儲存過程、視圖和函式。
  • 某些 SP 還會在此遷移範圍內的其他伺服器的文件系統中執行操作。
  • 據我所知,我們可能會被迫更改一些數據庫名稱,因為我們會在目標實例上的數據庫之間發生名稱衝突。

我已經編寫了所有數據庫對象的腳本,因此我可以進行一些文本搜尋來查找所有使用給定連結伺服器的查詢。

到目前為止,我相信我的選擇是:

1-長的。更改使用連結伺服器的查詢,使其查詢到同一個實例(只是到實例中的另一個數據庫)。

2- 一個短的。我們相信我們可以創建 DNS 別名,使舊機器名稱指向新的集群實例。

然後我們將在集群實例中創建多個連結伺服器指向同一個實例。連結伺服器的名稱與源伺服器中的名稱相同。這應該使舊的 SP、函式和視圖無需任何更改即可工作(除非我們需要更改數據庫名稱)。

有人知道更好的選擇或有什麼建議嗎?

我遇到了一個類似的問題,我們有不同的環境使用他們自己的連結伺服器,所以我們永遠不能保證開發就像集成就像測試就像生產一樣。

“doh”時刻是當我們發現您可以隨意命名連結伺服器,而不管其物理名稱如何。

我無法訪問 SQL Server 實例來測試您是否可以為其自身創建連結伺服器,但如果可能的話,整個重定向將自包含在您的合併實例中,直到您能夠清除依賴的 proc在連結伺服器上。

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