1. 程式人生 > >sql server 高可用日誌傳送

sql server 高可用日誌傳送

span 術語 sre 數據庫配置 logs 優點 style col 登錄

原文:sql server 高可用日誌傳送

一. 日誌傳送概述

SQL Server使用日誌傳送,可以自動將主服務器的事務日誌備份發送到一個或多個輔助數據庫上。
可選的監視服務器,記錄備份和還原操作的歷史記錄及狀態。

優點
  提供災難恢復解決方案
  支持對輔助數據庫的受限的只讀訪問權限
  允許用戶定義日誌發送的延遲時間(如果主數據庫上的數據被意外更改,則較長的延遲會很有用)

術語和定義
  備份作業
    主服務器的代理作業,它執行備份操作,將事務日誌記錄到本地服務器和監視服務器,刪除舊的記錄。
  復制作業
    主服務器的代理作業,它將備份文件從主服務器復制到輔助服務器上,在輔助服務器和監視服務器上記錄。
  還原作業
    輔助服務器的代理作業,備份文件還原到輔助數據庫,在本地服務器和監視服務器上記錄,刪除舊文件。
.
針對多個輔助服務器時,要重復執行復制作業和還原作業。

二. 準備工作

同一臺服務數據庫二個實例 (可以是局域網內的多個服務器)

主數據庫sqlserver 2012 r2 MSSQLSERVERTWO

輔助數據庫sqlserver 2012 r2 MSSQLSERVER

技術分享圖片

演示庫 LogShipping_Test, 主和輔相同的庫,相同的表結構和數據。 相同的sql 登錄名, 密碼

三. 配置日誌傳送

--步驟1:設置主服務器恢復模式為完全備份
ALTER DATABASE LogShipping_Test SET RECOVERY FULL
--步驟2:主服務數據庫做一次完全備份
BACKUP DATABASE LogShipping_Test TO  DISK=D:\LogShipping\LogShipping_Test.bak WITH NOFORMAT,INIT

-- 步驟3:

在主服務器上建立共享目錄C:\LogShipping\primary 具有作業訪問權限

在輔助服務器上建立共享目錄C:\LogShipping\secondary 具有作業訪問權限

技術分享圖片

技術分享圖片

技術分享圖片

---步驟4:

主服務器LogShipping_Test庫-->屬性-->任務-->傳送事務日誌將主服務器和輔助數據庫配置成功後,設置復制和還原每隔兩分鐘做一次傳送如下圖

技術分享圖片

日誌傳送配置成功後:輔助數據庫標識為(備用/只讀)如下圖

技術分享圖片

主數據庫SQL Server代理作業如下圖:

備份作業(LSBackup_LogShipping_Test)

警告作業(LSAlert_{計算機名})

輔助數據庫SQL Server代理作業如下圖

復制作業(LSCopy_{計算機名}_LogShipping_Test)

還原作業(LSRestore_{計算機名}_LogShipping_Test)

警告作業(LSAlert_{計算機名}\MSSQLSERVERTWO)

技術分享圖片

技術分享圖片

主服務器隔2分鐘備份的文件共享目錄如下圖

技術分享圖片

輔助服務器隔2分鐘復制的文件共享目錄如下圖

技術分享圖片

最後:查看日誌傳送是否正確無誤

利用可視化操作在SQL Server代理作業中查看日誌傳送是否正常

通過SQL查詢,看日誌傳送是否運行正常

   --(主數據庫查詢)
        exec  master..sp_help_log_shipping_monitor  
        exec  master..sp_help_log_shipping_primary_database LogShipping_Test
    --(輔助數據庫查詢)
        exec  master..sp_help_log_shipping_secondary_database LogShipping_Test

四. 主從數據庫手動切換配置

    步驟1:在主數據庫,使之處於正在還原

  use master
        Backup log [LogShipping_Test] to disk = c:\LogShipping\LogShipping_Test1.bak with NORECOVERY 

--手動運行輔助數據庫上的復制和還原作業(快速復制還原到從表)
--手動將主數據庫上的備份和警告作業禁用掉(停止備份)

步驟2:在輔助數據庫上,使用步驟的備件文件還原

use master
Restore log [LogShipping_Test] from disk =c:\LogShipping\LogShipping_Test1.bak with RECOVERY 

將以前備份和復制所在文件夾的數據刪除掉(D:\LogShipping\primary,D:\LogShipping\secondary )
重新配置日誌傳送,在輔助數據庫上(LogShipping_Test庫-->屬性-->任務-->傳送事務日誌將主服務器和輔助數據庫配置成功後)使輔助數據庫之變成主數據庫
將原來主數據庫的日誌傳送刪除(LogShipping_Test庫-->屬性-->任務-->傳送事務日誌,將勾選去掉確定).

sql server 高可用日誌傳送