一. 日誌傳送概述 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庫-->屬性-->任務-->傳送事務日誌,將勾選去掉確定).