新聞中心
SQL Server具有強(qiáng)大的復(fù)制功能,除了將數(shù)據(jù)和數(shù)據(jù)庫對象從一個(gè)數(shù)據(jù)庫復(fù)制并準(zhǔn)確分發(fā)的另一個(gè)數(shù)據(jù)庫中,還要實(shí)行數(shù)據(jù)庫之間的同步。SQL Server的復(fù)制分為三種,下面介紹一下這三種復(fù)制技術(shù)及其存在的一些缺陷,大家在使用時(shí)可以根據(jù)具體的情境選擇適用的復(fù)制方法,避開這些漏洞的干擾。

成都創(chuàng)新互聯(lián)公司堅(jiān)信:善待客戶,將會(huì)成為終身客戶。我們能堅(jiān)持多年,是因?yàn)槲覀円恢笨芍档眯刨嚒N覀儚牟缓鲇瞥踉L客戶,我們用心做好本職工作,不忘初心,方得始終。10余年網(wǎng)站建設(shè)經(jīng)驗(yàn)成都創(chuàng)新互聯(lián)公司是成都老牌網(wǎng)站營銷服務(wù)商,為您提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、成都外貿(mào)網(wǎng)站建設(shè)公司、網(wǎng)站設(shè)計(jì)、H5場景定制、網(wǎng)站制作、品牌網(wǎng)站建設(shè)、小程序設(shè)計(jì)服務(wù),給眾多知名企業(yè)提供過好品質(zhì)的建站服務(wù)。
1. 快照復(fù)制
A每隔一段時(shí)間將B中的相應(yīng)表中的數(shù)據(jù)全部刪除,然后將自己相應(yīng)表中的全部插到B中。此種方式顯然不適合我們的應(yīng)用,不予考慮。
2. 事務(wù)復(fù)制
對A中的每一個(gè)滿足復(fù)制條件的事務(wù),每隔一定時(shí)間A都應(yīng)用到B上,反之亦然。SQL Server 通過把數(shù)據(jù)傳給三個(gè)存儲(chǔ)過程(插入,刪除,修改)進(jìn)行數(shù)據(jù)的修改,我們可以根據(jù)自己的應(yīng)用改寫此存儲(chǔ)過程。
存在缺陷:如果從A到B的復(fù)制條件和從B到A復(fù)制條件相同的話,會(huì)產(chǎn)生“踢皮球”的循環(huán)現(xiàn)象。既一系列事務(wù)應(yīng)用于A,A會(huì)把這些事務(wù)應(yīng)用于B,B收到這一系列事務(wù)后,又會(huì)把它應(yīng)用于A,……如此循環(huán)。
3. 合并復(fù)制
每隔一段時(shí)間,復(fù)制將會(huì)把數(shù)據(jù)庫A,B中需要復(fù)制的數(shù)據(jù)合并一下,使得AB中的數(shù)據(jù)完全一樣,數(shù)據(jù)都是AB數(shù)據(jù)庫中數(shù)據(jù)的全體數(shù)據(jù)。如果A和B中數(shù)據(jù)主鍵有沖突,則根據(jù)優(yōu)先級只選其中一條數(shù)據(jù)。
需要注意:為了區(qū)分?jǐn)?shù)據(jù)來自于哪個(gè)地點(diǎn),SQL Server會(huì)將每一個(gè)需要復(fù)制的表中另加一個(gè)字段,在編程時(shí)應(yīng)該注意。
存在缺陷:
SQL Server 每隔一定時(shí)間進(jìn)行一次復(fù)制,如果找不到另一臺Server(比如因?yàn)榫W(wǎng)絡(luò)故障,或是另一臺SQL Server沒有啟動(dòng)),經(jīng)過n(默認(rèn)為10)次連接后,它的復(fù)制功能將會(huì)down掉,直至有人將復(fù)制功能啟動(dòng)。 需要復(fù)制的表中如果在復(fù)制之前就有數(shù)據(jù),在建立復(fù)制時(shí)比較麻煩(SQL Server不提供此類問題的解決方法,需要手動(dòng)完成)。因此,需要復(fù)制的表在使用過程中不能經(jīng)常變動(dòng)表結(jié)構(gòu)。
分享文章:SQLServer復(fù)制功能巧妙選擇避開Bug
文章路徑:http://www.dlmjj.cn/article/djhppso.html


咨詢
建站咨詢
