SQL Server復制功能要避開缺陷的干擾
SQL Server具有強大的復制功能,除了將數據和數據庫對象從一個數據庫復制并準確分發的另一個數據庫中,還要實行數據庫之間的同步。SQL Server的復制分為三種,下面介紹一下這三種復制技術及其存在的一些缺陷,大家在使用時可以根據具體的情境選擇適用的復制方法,避開這些缺陷的干擾。
1. 快照復制
A每隔一段時間將B中的相應表中的數據全部刪除,然后將自己相應表中的全部插到B中。此種方式顯然不適合我們的應用,不予考慮。
2. 事務復制
對A中的每一個滿足復制條件的事務,每隔一定時間A都應用到B上,反之亦然。SQL Server 通過把數據傳給三個存儲過程(插入,刪除,修改)進行數據的修改,我們可以根據自己的應用改寫此存儲過程。
存在缺陷:如果從A到B的復制條件和從B到A復制條件相同的話,會產生“踢皮球”的循環現象。既一系列事務應用于A,A會把這些事務應用于B,B收到這一系列事務后,又會把它應用于A,……如此循環。
3. 合并復制
每隔一段時間,復制將會把數據庫A,B中需要復制的數據合并一下,使得AB中的數據完全一樣,數據都是AB數據庫中數據的全體數據。如果A和B中數據主鍵有沖突,則根據優先級只選其中一條數據。
需要注意:為了區分數據來自于哪個地點,SQL Server會將每一個需要復制的表中另加一個字段,在編程時應該注意。
存在缺陷:
SQL Server 每隔一定時間進行一次復制,如果找不到另一臺Server(比如因為網絡故障,或是另一臺SQL Server沒有啟動),經過n(默認為10)次連接后,它的復制功能將會down掉,直至有人將復制功能啟動。 需要復制的表中如果在復制之前就有數據,在建立復制時比較麻煩(SQLServer不提供此類問題的解決方法,需要手動完成)。因此,需要復制的表在使用過程中不能經常變動表結構,文/張夢強。
關鍵字:SQL Server、數據庫
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解