- 相關(guān)推薦
軟件SQL Server復(fù)制功能避開缺陷的方法
SQL Server的復(fù)制分為三種,下面介紹一下這三種復(fù)制技術(shù)及其存在的一些缺陷,大家在使用時可以根據(jù)具體的情境選擇適用的復(fù)制方法,避開這些缺陷的干擾。
1. 快照復(fù)制
A每隔一段時間將B中的相應(yīng)表中的數(shù)據(jù)全部刪除,然后將自己相應(yīng)表中的全部插到B中。此種方式顯然不適合我們的應(yīng)用,不予考慮。
2. 事務(wù)復(fù)制
對A中的每一個滿足復(fù)制條件的事務(wù),每隔一定時間A都應(yīng)用到B上,反之亦然。SQL Server 通過把數(shù)據(jù)傳給三個存儲過程(插入,刪除,修改)進(jìn)行數(shù)據(jù)的修改,我們可以根據(jù)自己的應(yīng)用改寫此存儲過程。
存在缺陷:如果從A到B的復(fù)制條件和從B到A復(fù)制條件相同的話,會產(chǎn)生“踢皮球”的循環(huán)現(xiàn)象。既一系列事務(wù)應(yīng)用于A,A會把這些事務(wù)應(yīng)用于B,B收到這一系列事務(wù)后,又會把它應(yīng)用于A,……如此循環(huán)。
3. 合并復(fù)制
每隔一段時間,復(fù)制將會把數(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ù)來自于哪個地點,SQL Server會將每一個需要復(fù)制的表中另加一個字段,在編程時應(yīng)該注意。
存在缺陷:
SQL Server 每隔一定時間進(jìn)行一次復(fù)制,如果找不到另一臺Server(比如因為網(wǎng)絡(luò)故障,或是另一臺SQL Server沒有啟動),經(jīng)過n(默認(rèn)為10)次連接后,它的復(fù)制功能將會down掉,直至有人將復(fù)制功能啟動。 需要復(fù)制的表中如果在復(fù)制之前就有數(shù)據(jù),在建立復(fù)制時比較麻煩(SQL Server不提供此類問題的解決方法,需要手動完成)。因此,需要復(fù)制的表在使用過程中不能經(jīng)常變動表結(jié)構(gòu)。(文/張夢強(qiáng))
【軟件SQL Server復(fù)制功能避開缺陷的方法】相關(guān)文章:
Sql Server、Access數(shù)據(jù)排名的實現(xiàn)方法07-09
有關(guān)清除SQL Server日志的兩種方法07-20
SQL Server常用數(shù)據(jù)類型06-18
如何更改SQL Server默認(rèn)的1433端口05-19
如何快速掌握SQL Server中的日志轉(zhuǎn)移08-04
胸肌健身缺陷及方法技巧09-25
MySQL導(dǎo)出導(dǎo)入SQL文件命令方法10-17
鑄件常見缺陷的產(chǎn)生原因-防止鑄件常見缺陷的方法08-03
OA軟件實時考勤功能08-28