一. 日志傳送概述
SQL Server使用日志傳送,可以自動(dòng)將主服務(wù)器的事務(wù)日志備份發(fā)送到一個(gè)或多個(gè)輔助數(shù)據(jù)庫(kù)上。事務(wù)日志備份分別應(yīng)用于每個(gè)輔助數(shù)據(jù)庫(kù)。 可選的第三個(gè)服務(wù)器實(shí)例(稱(chēng)為“監(jiān)視服務(wù)器”)記錄備份和還原操作的歷史記錄及狀態(tài),還可以在無(wú)法按計(jì)劃執(zhí)行這些操作時(shí)引發(fā)警報(bào)。
可選的監(jiān)視服務(wù)器,記錄備份和還原操作的歷史記錄及狀態(tài)。
下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧。
優(yōu)點(diǎn)
- 提供災(zāi)難恢復(fù)解決方案
- 支持對(duì)輔助數(shù)據(jù)庫(kù)的受限的只讀訪問(wèn)權(quán)限
- 允許用戶(hù)定義日志發(fā)送的延遲時(shí)間(如果主數(shù)據(jù)庫(kù)上的數(shù)據(jù)被意外更改,則較長(zhǎng)的延遲會(huì)很有用)
術(shù)語(yǔ)和定義
備份作業(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ù)庫(kù),在本地服務(wù)器和監(jiān)視服務(wù)器上記錄,刪除舊文件。
針對(duì)多個(gè)輔助服務(wù)器時(shí),要重復(fù)執(zhí)行復(fù)制作業(yè)和還原作業(yè)。
二. 準(zhǔn)備工作
同一臺(tái)服務(wù)數(shù)據(jù)庫(kù)二個(gè)實(shí)例 (可以是局域網(wǎng)內(nèi)的多個(gè)服務(wù)器)
主數(shù)據(jù)庫(kù)sqlserver 2012 r2 MSSQLSERVERTWO
輔助數(shù)據(jù)庫(kù)sqlserver 2012 r2 MSSQLSERVER
![](/d/20211017/39296d10e726fa3c8fc4ebb14fff911f.gif)
演示庫(kù) LogShipping_Test, 主和輔相同的庫(kù),相同的表結(jié)構(gòu)和數(shù)據(jù)。 相同的sql 登錄名, 密碼
三. 配置日志傳送
--步驟1:設(shè)置主服務(wù)器恢復(fù)模式為完全備份
ALTER DATABASE LogShipping_Test SET RECOVERY FULL
--步驟2:主服務(wù)數(shù)據(jù)庫(kù)做一次完全備份
BACKUP DATABASE LogShipping_Test TO DISK='D:\LogShipping\LogShipping_Test.bak' WITH NOFORMAT,INIT
-- 步驟3:
在主服務(wù)器上建立共享目錄C:\LogShipping\primary 具有作業(yè)訪問(wèn)權(quán)限
在輔助服務(wù)器上建立共享目錄C:\LogShipping\secondary 具有作業(yè)訪問(wèn)權(quán)限
![](/d/20211017/f4e9d77c21005096843c06c0bfd56ef8.gif)
![](/d/20211017/5f9a30b62a99f6dbf5da103cdd1b2419.gif)
![](/d/20211017/135e6f4f410cd2abe050af8883ca157f.gif)
---步驟4:
主服務(wù)器LogShipping_Test庫(kù)-->屬性-->任務(wù)-->傳送事務(wù)日志將主服務(wù)器和輔助數(shù)據(jù)庫(kù)配置成功后,設(shè)置復(fù)制和還原每隔兩分鐘做一次傳送如下圖
![](/d/20211017/633c2e37cf78260de0ff5f97a31d5aea.gif)
日志傳送配置成功后:輔助數(shù)據(jù)庫(kù)標(biāo)識(shí)為(備用/只讀)如下圖
![](/d/20211017/08c27dbeabba113d4bdee02fa01c0f1c.gif)
主數(shù)據(jù)庫(kù)SQL Server代理作業(yè)如下圖:
備份作業(yè)(LSBackup_LogShipping_Test)
警告作業(yè)(LSAlert_{計(jì)算機(jī)名})
輔助數(shù)據(jù)庫(kù)SQL Server代理作業(yè)如下圖
復(fù)制作業(yè)(LSCopy_{計(jì)算機(jī)名}_LogShipping_Test)
還原作業(yè)(LSRestore_{計(jì)算機(jī)名}_LogShipping_Test)
警告作業(yè)(LSAlert_{計(jì)算機(jī)名}\MSSQLSERVERTWO)
![](/d/20211017/577e1e076cf0c3bdab4144684e502ced.gif)
![](/d/20211017/fb9cfd7ee32a1c389ae9530647a1ff32.gif)
主服務(wù)器隔2分鐘備份的文件共享目錄如下圖
![](/d/20211017/8d2d2fd7fffdea3daf44cb0824c22e13.gif)
輔助服務(wù)器隔2分鐘復(fù)制的文件共享目錄如下圖
![](/d/20211017/9b3c7348abd56f8ae1116ac10cd8dda9.gif)
最后:查看日志傳送是否正確無(wú)誤
利用可視化操作在SQL Server代理作業(yè)中查看日志傳送是否正常
通過(guò)SQL查詢(xún),看日志傳送是否運(yùn)行正常
--(主數(shù)據(jù)庫(kù)查詢(xún))
exec master..sp_help_log_shipping_monitor
exec master..sp_help_log_shipping_primary_database 'LogShipping_Test'
--(輔助數(shù)據(jù)庫(kù)查詢(xún))
exec master..sp_help_log_shipping_secondary_database 'LogShipping_Test'
四. 主從數(shù)據(jù)庫(kù)手動(dòng)切換配置
步驟1:在主數(shù)據(jù)庫(kù),使之處于正在還原
use master
Backup log [LogShipping_Test] to disk = 'c:\LogShipping\LogShipping_Test1.bak' with NORECOVERY
--手動(dòng)運(yùn)行輔助數(shù)據(jù)庫(kù)上的復(fù)制和還原作業(yè)(快速?gòu)?fù)制還原到從表)
--手動(dòng)將主數(shù)據(jù)庫(kù)上的備份和警告作業(yè)禁用掉(停止備份)
步驟2:在輔助數(shù)據(jù)庫(kù)上,使用步驟的備件文件還原
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ù)庫(kù)上(LogShipping_Test庫(kù)-->屬性-->任務(wù)-->傳送事務(wù)日志將主服務(wù)器和輔助數(shù)據(jù)庫(kù)配置成功后)使輔助數(shù)據(jù)庫(kù)之變成主數(shù)據(jù)庫(kù)
將原來(lái)主數(shù)據(jù)庫(kù)的日志傳送刪除(LogShipping_Test庫(kù)-->屬性-->任務(wù)-->傳送事務(wù)日志,將勾選去掉確定).
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
您可能感興趣的文章:- SQL Server誤區(qū)30日談 第7天 一個(gè)實(shí)例多個(gè)鏡像和日志傳送延遲
- SQL Server高可用的常見(jiàn)問(wèn)題分析
- SQL Server 數(shù)據(jù)庫(kù)清除日志的方法
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- SQL Server 2005刪除日志文件的幾種方法小結(jié)
- sqlserver 數(shù)據(jù)庫(kù)日志備份和恢復(fù)步驟
- sqlserver 日志恢復(fù)方法(搞定drop和truncate)