SQL server數據庫高可用日志傳送的方法

2018-12-27 14:24:42 來源:互聯網作者:hushaoren 人氣: 次閱讀 356 條評論

SQL Server 使用日志傳送,您可以自動將“主服務器”實例上“主數據庫”內的事務日志備份發送到單獨“輔助服務器”實例上的一個或多個“...

SQL Server 使用日志傳送,您可以自動將“主服務器”實例上“主數據庫”內的事務日志備份發送到單獨“輔助服務器”實例上的一個或多個“輔助數據庫”,下面這篇文章主要給大家介紹了關于sql server數據庫高可用日志傳送的相關資料,需要的朋友可以參考下。

一. 日志傳送概述

SQL Server使用日志傳送,可以自動將主服務器的事務日志備份發送到一個或多個輔助數據庫上。事務日志備份分別應用于每個輔助數據庫。 可選的第三個服務器實例(稱為“監視服務器”)記錄備份和還原操作的歷史記錄及狀態,還可以在無法按計劃執行這些操作時引發警報。

可選的監視服務器,記錄備份和還原操作的歷史記錄及狀態。

下面話不多說了,來一起看看詳細的介紹吧。

優點

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

術語和定義

備份作業

 主服務器的代理作業,它執行備份操作,將事務日志記錄到本地服務器和監視服務器,刪除舊的記錄。

復制作業

    主服務器的代理作業,它將備份文件從主服務器復制到輔助服務器上,在輔助服務器和監視服務器上記錄。

還原作業

    輔助服務器的代理作業,備份文件還原到輔助數據庫,在本地服務器和監視服務器上記錄,刪除舊文件。

    針對多個輔助服務器時,要重復執行復制作業和還原作業。

二. 準備工作

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

主數據庫sqlserver 2012 r2 MsSQLSERVERTWO

輔助數據庫sqlserver 2012 r2 MSSQLSERVER

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

三. 配置日志傳送

--步驟1:設置主服務器恢復模式為完全備份
  1. ALTER DATABASE LogShipping_Test SET RECOVERY FULL
--步驟2:主服務數據庫做一次完全備份
  1. 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查詢,看日志傳送是否運行正常

  1. --(主數據庫查詢)
  2.   exec master..sp_help_log_shipping_monitor
  3.   exec master..sp_help_log_shipping_primary_database 'LogShipping_Test'
  4.  --(輔助數據庫查詢)
  5.   exec master..sp_help_log_shipping_secondary_database 'LogShipping_Test'

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

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

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

--手動運行輔助數據庫上的復制和還原作業(快速復制還原到從表)

--手動將主數據庫上的備份和警告作業禁用掉(停止備份)

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

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

將以前備份和復制所在文件夾的數據刪除掉(D:\LogShipping\primary,D:\LogShipping\secondary )

重新配置日志傳送,在輔助數據庫上(LogShipping_Test庫-->屬性-->任務-->傳送事務日志將主服務器和輔助數據庫配置成功后)使輔助數據庫之變成主數據庫

將原來主數據庫的日志傳送刪除(LogShipping_Test庫-->屬性-->任務-->傳送事務日志,將勾選去掉確定).

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,

您可能感興趣的文章

相關文章