一. 日志傳送概述
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)。
下面話不多說了,來一起看看詳細的介紹吧。
優(yōu)點
- 提供災(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è)。
二. 準備工作
同一臺服務(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ù)模式為完全備份
ALTER DATABASE LogShipping_Test SET RECOVERY FULL
--步驟2:主服務(wù)數(shù)據(jù)庫做一次完全備份
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ù)庫標識為(備用/只讀)如下圖
主數(shù)據(jù)庫SQL Server代理作業(yè)如下圖:
備份作業(yè)(LSBackup_LogShipping_Test)
警告作業(yè)(LSAlert_{計算機名})
輔助數(shù)據(jù)庫SQL Server代理作業(yè)如下圖
復(fù)制作業(yè)(LSCopy_{計算機名}_LogShipping_Test)
還原作業(yè)(LSRestore_{計算機名}_LogShipping_Test)
警告作業(yè)(LSAlert_{計算機名}\MSSQLSERVERTWO)
主服務(wù)器隔2分鐘備份的文件共享目錄如下圖
輔助服務(wù)器隔2分鐘復(fù)制的文件共享目錄如下圖
最后:查看日志傳送是否正確無誤
利用可視化操作在SQL Server代理作業(yè)中查看日志傳送是否正常
通過SQL查詢,看日志傳送是否運行正常
--(主數(shù)據(jù)庫查詢)
exec master..sp_help_log_shipping_monitor
exec master..sp_help_log_shipping_primary_database 'LogShipping_Test'
--(輔助數(shù)據(jù)庫查詢)
exec master..sp_help_log_shipping_secondary_database 'LogShipping_Test'
四. 主從數(shù)據(jù)庫手動切換配置
步驟1:在主數(shù)據(jù)庫,使之處于正在還原
use master
Backup log [LogShipping_Test] to disk = 'c:\LogShipping\LogShipping_Test1.bak' with NORECOVERY
--手動運行輔助數(shù)據(jù)庫上的復(fù)制和還原作業(yè)(快速復(fù)制還原到從表)
--手動將主數(shù)據(jù)庫上的備份和警告作業(yè)禁用掉(停止備份)
步驟2:在輔助數(shù)據(jù)庫上,使用步驟的備件文件還原
use master
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í)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- SQL Server誤區(qū)30日談 第7天 一個實例多個鏡像和日志傳送延遲
- SQL Server高可用的常見問題分析
- SQL Server 數(shù)據(jù)庫清除日志的方法
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- SQL Server 2005刪除日志文件的幾種方法小結(jié)
- sqlserver 數(shù)據(jù)庫日志備份和恢復(fù)步驟
- sqlserver 日志恢復(fù)方法(搞定drop和truncate)