將生產資料庫遷移到新環境

將生產資料庫遷移到新環境

我們有幾個 SQL Server 2005 資料庫,很快就會遷移到新的生產伺服器。這些資料庫雖然規模不大,但足夠大,因此在盡可能減少停機時間的情況下完成此操作變得很困難。

首先移動的三個資料庫是最關鍵的,大小分別為 5、9 和 25 GB(僅數據,不含日誌)。

現在有一些可能性,但由於我不是一個成熟的 DBA,我想也許這裡的一些人可能有更好的想法/建議。這就是我們的想法;

* Create a full backup, move the file and restore the backup.

這是可能的,但由於資料庫相當大,這意味著系統需要行動資料庫,因此會出現相當嚴重的停機時間(幾個小時)。

是否可以今天創建並恢復備份,然後在我們實際採取行動時進行差異恢復?到目前為止,我發現差異恢復的問題是,這些恢復總是被添加到完整備份中,這將使文件保持相同的大小,並且不會減少由於將文件從一個伺服器移動到另一個伺服器而導致的停機時間。

為了讓這個「更加」棘手,新資料庫將被配置為鏡像,而舊環境沒有鏡像。這意味著我必須恢復主伺服器上的差異備份(我認為這不會引起問題,但我想我會問。)

當然,如果有另一種更簡單或更好的方法來以最少的停機時間完成此操作,我也很樂意聽到。

StackOverflow 上的一位使用者簡單地回覆「您可以使用鏡像來做到這一點」。無需贅述,我的看法是,我可以根據新原則創建一個鏡像,然後強制該鏡像接管舊的生產伺服器。然後,我停用鏡像並重新啟用到新鏡像伺服器的鏡像。

會這樣運作嗎?

答案1

我多次進行過這種類型的遷移,(對我來說)最好的方法是:

  • 完整備份(使用中的資料庫)

  • 交易日誌每n分鐘備份一次(n取決於複製完整備份的時間)

  • 將完整備份複製到新伺服器,然後還原資料庫而不進行還原(RESTORE....NORECOVERY

  • 複製並復原(始終無需復原)交易日誌

  • 當新資料庫幾乎在線時,停止使用舊資料庫的應用程序,備份最後的交易日誌,將其複製到新伺服器並透過還原來恢復。

  • 現在您的資料庫位於新伺服器上,停機時間非常短。

答案2

就備份和行動資料庫而言,我經常在不到半小時的時間內備份30GB的資料庫。如果您將它們備份到連接到目前伺服器的外部 USB 驅動器,然後透過 USB 驅動器將它們傳輸到新伺服器並恢復它們,我不會花費超過大約一個小時,大約需要幾分鐘。

答案3

我會嘗試給出一點,
也許我是錯的,讓其他人說,如果這不是常規方式,您可以設置到新伺服器的事務複製並發布和訂閱資料庫嗎,這樣您就可以讓兩個資料庫在小於幾秒的滯後中持續運作。
之後,您關閉客戶端與舊資料庫的連線並等待幾秒鐘。
禁用複製並開始使用新資料庫

相關內容