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

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

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

背景:數據庫

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

截圖:日誌

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

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

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

截圖:get

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中。

相關文章
相關標籤/搜索