MSSQL Server LogShipping實現主從切換的詳細步驟

https://www.2cto.com/database/201205/130768.html

LogShipping是MSSQL Server高可用性解決方案中比較容易實現的一種,其優劣程度及具體的配置步驟,相信大家都已經很熟悉了,所以不再贅述。我們知道,LogShipping只能使用手工方式實現故障轉移,所以往往都有這種感覺:實現主從切換要比前期配置Logshipping更難。今天我結合常見的兩個場景,整理了下實現主從切換的詳細步驟。 www.2cto.com

背景:

爲了方便截圖,我將Primary server及Secondary設定爲在同一個instance上,也就是說LogShipping跟LogShipping_secondary是在同一instance上的兩個數據庫,我們已經爲primary數據庫LogShipping配置了日誌傳送,且LogShipping_secondary是secondary數據庫。但是爲了方便區分主從,我還是使用 Primary server 及Secondary server來代指這兩個數據庫。

截圖:

場景一,Primary 數據庫依然可訪問,只是需要切換至Secondary數據庫。

Step1,在Primary server的master數據庫中打開一個新的查詢窗口,運行下面的sql語句以完成對LogShipping的日誌備份且with NORECOVERY。 www.2cto.com

Backup log LogShipping to disk = 'E:\backup\LogShippingLog.bak' with NORECOVERY

截圖:

Step2, 手動運行Secondary server上的複製文件agent及還原agent,以完成從備份共享文件夾的文件複製及在Secondary server上的還原。

截圖:

Step3, 將警報agent、Primary server上的備份agent、Secondary server上的複製文件agent及還原agent都禁用掉。

截圖:

Step4,在Secondary server上使用step1中創建的日誌備份還原LogShipping_secondary數據庫,且with RECOVERY。

Restore log LogShipping_secondary from disk ='E:\backup\LogShippingLog.bak' with RECOVERY

截圖:

Step5, 重新配置現在的Primary server(原Secondary server)對應的Logshipping選項,還是用以前的配置即可,只是將原來的Primary server 設定成了現在的Secondary server(standby mode)。 www.2cto.com

截圖:

Step6,啓用當前Primary server(原Secondary server)上的備份agent,啓用當前Secondary server(原Primary server)上的複製文件agent及還原agent。

場景二,Primary 數據庫遇到了災難,已不可正常訪問,需要迅速轉移至Secondary數據庫。

截圖:

Step1, 手動運行Secondary server上的複製文件agent及還原agent,以完成從備份共享文件夾的文件複製及在Secondary server上的還原。

截圖:

Step2, 將警報agent、Primary server上的備份agent、Secondary server上的複製文件agent及還原agent都禁用掉。

截圖:

Step3, 在Secondary server的master數據庫中打開一個新的查詢窗口,運行下面的sql語句以完成對LogShipping_secondary的還原,且with RECOVERY。實際上也就是將LogShipping_secondary數據庫從read-only狀態改成online狀態。 www.2cto.com

Restore database LogShipping_standby with Recovery

Step4, 重新配置現在的Primary server(原Secondary server)對應的Logshipping選項,還是用以前的配置即可。如果原Primary server還繼續可用,只需將原來的Primary server設定成了現在的Secondary server(standby mode),並使用現在的LogShipping_secondary數據庫還原出來一個新的LogShipping數據庫。

注意:在SQL Server 2008 版本中無需再使用DTS/SSIS包或者bcp去同步兩個db之間的logins及users了,因爲在每次的還原劑備份中都會自動將Primary server上的login及users同步至Secondary server中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章