Sql-Server-2008-R2

將複製從 SQL Server 2008 R2 遷移到 SQL Server 2016 - 舊硬體到新硬體

  • May 4, 2021

我很快將從事一個項目,該項目將涉及將複製的數據庫從舊的遷移到新的 SQL Server 實例。我過去沒有這樣做過,所以除了做一些研究之外,我對如何前進也沒有太多的了解。

截至目前,我們目前的配置位於帶有 SQL Server 2008 R2 的 Windows 2008 R2 伺服器上,並且發布者和分發者是同一個 SQL Server 實例,例如sqla,訂閱者sqlb現在sqlb也是sqlc……這些都是具有單向事務和快照複製的拉訂閱者。

現在,回到我原來的問題。有沒有辦法以最少的停機時間將數據庫從舊數據庫遷移到新數據庫,這樣我就不必編寫腳本並重新初始化訂閱,因為這會花費很多時間(這是大多數人在Google上提到的)。我們是否有任何技巧或技巧可以在不引起問題的情況下完成這項工作,或者即使我們使用腳本方法也可以逐步解決。

我將在去年 2 月進行相同類型的遷移,我必須在一天內完成所有系統。我之前所有的伺服器都準備好了完全相同的文件夾結構,並包含文件夾名稱 MSSQLSERVER10。我關閉了所有服務並禁用了它們。然後,我將所有系統數據庫複製到新系統上完全相同的文件夾位置。我啟動 SQL 服務只是為了確保系統啟動。一旦確認,我帶來了 1 個複制系統以確保它們出現。一旦成功,我就帶來了其他所有東西,打開系統並等待一段時間啟動代理,因為我想檢查並確保每個數據庫都重新上線。然後,我首先在 Primary 上打開代理服務,然後啟動所有輔助伺服器。強制複製或重建它不是我的選擇。還有其他方法可以做到這一點,但這是我決定用於我們現有環境的方法。我很幸運有一個停機視窗來完成這項工作。

我必須為一個主要的 CDN 做類似的場景,因此我們不能有超過幾分鐘的停機時間來從 2008 年升級到 2014 年並製定回滾策略。

簡短的版本是我們使用鏡像來獲取到 2014 年的數據,並使用複制來進行故障恢復**。**我們使用“無快照或恢復初始化”的自定義選項測試並創建了所有腳本,基本上你告訴系統“別擔心,我知道它是按照我喜歡的方式同步的”。

實現腳本一切並確保在故障轉移時停止寫入。從新的 Publisher 將復製配置回 2008 年,一切順利。請注意,為故障回复準備好種子腳本。

我有一些腳本可以刪除執行大部分操作的敏感資訊,此外:

-遷移到 FCI

  • 配置 AG

-中斷鏡像,設置複製

-測試

  • 其他項目和回滾腳本。

我需要幾天的時間來審查它們是否有任何遺漏的敏感資訊,但如果需要,我可以在之後發布它們。

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