2.3 復(fù)制流程
事務(wù)日志實(shí)時(shí)捕獲器實(shí)時(shí)監(jiān)控源SQLServer事務(wù)日志文件和捕獲其變化數(shù)據(jù);事務(wù)日志分析器通過數(shù)據(jù)字典將日志數(shù)據(jù)解析還原成數(shù)據(jù)庫記錄,并過濾不需要鏡像的表或其他數(shù)據(jù)庫對(duì)象;傳輸控制器從任務(wù)隊(duì)列中取出記錄數(shù)據(jù)傳輸至鏡像服務(wù)器。鏡像服務(wù)器接收隊(duì)列將記錄數(shù)據(jù)保存至事務(wù)隊(duì)列和Snapshot文件中;SQL應(yīng)用機(jī)構(gòu)掃描事務(wù)隊(duì)列,將提交事務(wù)應(yīng)用到目標(biāo)SQLServer。
2.4 實(shí)時(shí)事務(wù)捕捉及解析
鏡像系統(tǒng)通過內(nèi)嵌的Windows文件系統(tǒng)驅(qū)動(dòng)程序?qū)崟r(shí)捕捉SQLServer數(shù)據(jù)庫的日志I/O及數(shù)據(jù)塊。其具備以下技術(shù)特點(diǎn):
第一,鏡像系統(tǒng)在SQLServer數(shù)據(jù)庫內(nèi)安裝少量對(duì)象用來存儲(chǔ)需復(fù)制的信息,但這些對(duì)象從創(chuàng)建時(shí)就被設(shè)置成禁用狀態(tài),不參與復(fù)制工作,也不會(huì)影響數(shù)據(jù)庫結(jié)構(gòu)。
第二,文件系統(tǒng)驅(qū)動(dòng)程序的捕捉完全獨(dú)立于SQLServer數(shù)據(jù)庫進(jìn)程,因此鏡像系統(tǒng)對(duì)SQLServer數(shù)據(jù)庫的性能影響極小。
第三,文件系統(tǒng)驅(qū)動(dòng)程序僅捕獲需要復(fù)制的數(shù)據(jù)庫的日志文件,且僅捕獲其寫操作,忽略其他文件的任何操作。因此,對(duì)操作系統(tǒng)性能影響也極小。
第四,只有發(fā)生變化的日志文件塊才會(huì)被捕捉,而不是整個(gè)日志文件,因此提高了解析性能,降低了網(wǎng)絡(luò)傳輸流量。
事務(wù)日志分析器根據(jù)數(shù)據(jù)字典依次解析日志文件塊,獲取該記錄的操作類型、涉及對(duì)象等,忽略不在數(shù)據(jù)字典中的對(duì)象并放棄該日志記錄的后續(xù)解析。
當(dāng)DDL語言更改了數(shù)據(jù)庫結(jié)構(gòu)時(shí),事務(wù)日志分析器將通知數(shù)據(jù)字典使其動(dòng)態(tài)調(diào)整對(duì)象結(jié)構(gòu)。因此數(shù)據(jù)字典具備自適應(yīng)能力,無需重新啟動(dòng)即可解析后續(xù)日志文件塊。
2.5 傳輸控制
鏡像系統(tǒng)的傳輸協(xié)議基于TCP/IP實(shí)現(xiàn)。傳輸控制器記錄當(dāng)前傳輸成功的事務(wù)點(diǎn)。當(dāng)連接中斷等因素導(dǎo)致傳輸失敗,傳輸控制則停止傳輸工作,嘗試連接直至成功。
鏡像系統(tǒng)可創(chuàng)建多個(gè)通道實(shí)現(xiàn)并行傳輸,提高傳輸效率。
2.6 應(yīng)用數(shù)據(jù)
鏡像系統(tǒng)將客戶端傳送到信息轉(zhuǎn)化為SQL語句,并按照在源數(shù)據(jù)庫中的Commit順序發(fā)送給目標(biāo)SQLServer數(shù)據(jù)庫執(zhí)行。
2.7 基準(zhǔn)裝載
基準(zhǔn)裝載器使用SQLServer數(shù)據(jù)庫提供的在線備份功能,將源數(shù)據(jù)庫備份出來,還原至目標(biāo)數(shù)據(jù)庫,實(shí)現(xiàn)源和目標(biāo)數(shù)據(jù)庫基準(zhǔn)一致。
3。技術(shù)特性
1)目標(biāo)數(shù)據(jù)庫狀態(tài)
目標(biāo)SQLServer數(shù)據(jù)庫處于運(yùn)行狀態(tài),能讀能寫,運(yùn)行的目標(biāo)系統(tǒng)保證了系統(tǒng)的一致性。
2)兩階段檢查(2PC)
在傳輸階段和數(shù)據(jù)庫記錄提交階段均設(shè)置成功檢查點(diǎn)。兩階段檢查可防止如網(wǎng)絡(luò)連接斷開、目標(biāo)數(shù)據(jù)庫沒有運(yùn)行、進(jìn)程崩潰等意外因素發(fā)生造成的事務(wù)丟失。
3)特性列表
4)其他功能
定時(shí)鏡像計(jì)劃,系統(tǒng)還提供便捷的定時(shí)鏡像計(jì)劃。鏡像計(jì)劃作業(yè)可配置信息字段:開始時(shí)間、結(jié)束時(shí)間和日期以及在這段時(shí)間之內(nèi)的鏡像頻率、需要鏡像數(shù)據(jù)庫。定時(shí)鏡像計(jì)劃類似于基準(zhǔn)裝載,均通過SQLServer數(shù)據(jù)庫提供在線備份功能實(shí)現(xiàn)。
數(shù)據(jù)庫備份存儲(chǔ),鏡像系統(tǒng)可將基準(zhǔn)裝載或定時(shí)鏡像計(jì)劃使用的數(shù)據(jù)庫備份保存在磁盤上;系統(tǒng)采用時(shí)間戳命名備份文件。用戶可調(diào)節(jié)保存的備份版本數(shù)量或時(shí)間;用戶可手工在SQLServer企業(yè)管理將數(shù)據(jù)庫備份還原至數(shù)據(jù)庫中。
基于Web的任務(wù)監(jiān)控和配置管理,鏡像系統(tǒng)提供基于WEB的監(jiān)控、管理平臺(tái),用戶可以通過瀏覽器即可管理全網(wǎng)的鏡像代理、鏡像服務(wù)器、傳輸備份策略以及任務(wù)監(jiān)控。
鏡像任務(wù)監(jiān)控是鏡像系統(tǒng)的一個(gè)組成部分,用來實(shí)時(shí)的監(jiān)控信息包括:
從主(源)服務(wù)器到備(目標(biāo))服務(wù)器數(shù)據(jù)復(fù)制的結(jié)果;
鏡像客戶端和鏡像服務(wù)器的工作狀態(tài)。