SQL server數(shù)據(jù)庫高可用日志傳送的方法

2018-12-27 14:24:42 來源:互聯(lián)網(wǎng)作者:hushaoren 人氣: 次閱讀 356 條評論

SQL Server 使用日志傳送,您可以自動將“主服務(wù)器”實例上“主數(shù)據(jù)庫”內(nèi)的事務(wù)日志備份發(fā)送到單獨(dú)“輔助服務(wù)器”實例上的一個或多個“...

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

一. 日志傳送概述

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

可選的監(jiān)視服務(wù)器,記錄備份和還原操作的歷史記錄及狀態(tài)。

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

優(yōu)點(diǎn)

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

術(shù)語和定義

備份作業(yè)

 主服務(wù)器的代理作業(yè),它執(zhí)行備份操作,將事務(wù)日志記錄到本地服務(wù)器和監(jiān)視服務(wù)器,刪除舊的記錄。

復(fù)制作業(yè)

    主服務(wù)器的代理作業(yè),它將備份文件從主服務(wù)器復(fù)制到輔助服務(wù)器上,在輔助服務(wù)器和監(jiān)視服務(wù)器上記錄。

還原作業(yè)

    輔助服務(wù)器的代理作業(yè),備份文件還原到輔助數(shù)據(jù)庫,在本地服務(wù)器和監(jiān)視服務(wù)器上記錄,刪除舊文件。

    針對多個輔助服務(wù)器時,要重復(fù)執(zhí)行復(fù)制作業(yè)和還原作業(yè)。

二. 準(zhǔn)備工作

同一臺服務(wù)數(shù)據(jù)庫二個實例 (可以是局域網(wǎng)內(nèi)的多個服務(wù)器)

主數(shù)據(jù)庫sqlserver 2012 r2 MsSQLSERVERTWO

輔助數(shù)據(jù)庫sqlserver 2012 r2 MSSQLSERVER

演示庫 LogShipping_Test, 主和輔相同的庫,相同的表結(jié)構(gòu)和數(shù)據(jù)。 相同的sql 登錄名, 密碼

三. 配置日志傳送

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

-- 步驟3:

在主服務(wù)器上建立共享目錄C:\LogShipping\primary 具有作業(yè)訪問權(quán)限

在輔助服務(wù)器上建立共享目錄C:\LogShipping\secondary 具有作業(yè)訪問權(quán)限

---步驟4:

主服務(wù)器LogShipping_Test庫-->屬性-->任務(wù)-->傳送事務(wù)日志將主服務(wù)器和輔助數(shù)據(jù)庫配置成功后,設(shè)置復(fù)制和還原每隔兩分鐘做一次傳送如下圖

日志傳送配置成功后:輔助數(shù)據(jù)庫標(biāo)識為(備用/只讀)如下圖

主數(shù)據(jù)庫SQL Server代理作業(yè)如下圖:

備份作業(yè)(LSBackup_LogShipping_Test)

警告作業(yè)(LSAlert_{計算機(jī)名})

輔助數(shù)據(jù)庫SQL Server代理作業(yè)如下圖

復(fù)制作業(yè)(LSCopy_{計算機(jī)名}_LogShipping_Test)

還原作業(yè)(LSRestore_{計算機(jī)名}_LogShipping_Test)

警告作業(yè)(LSAlert_{計算機(jī)名}\MSSQLSERVERTWO)

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

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

最后:查看日志傳送是否正確無誤

利用可視化操作在SQL Server代理作業(yè)中查看日志傳送是否正常

通過SQL查詢,看日志傳送是否運(yùn)行正常

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

四. 主從數(shù)據(jù)庫手動切換配置

步驟1:在主數(shù)據(jù)庫,使之處于正在還原

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

--手動運(yùn)行輔助數(shù)據(jù)庫上的復(fù)制和還原作業(yè)(快速復(fù)制還原到從表)

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

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

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

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

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

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

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,