SQL Server複製功能要避開缺陷的幹擾小結

來源:互聯網
上載者:User

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掉,直至有人將複製功能啟動。 需要複製的表中如果在複製之前就有資料,在建立複製時比較麻煩(SQL Server不提供此類問題的解決方案,需要手動完成)。因此,需要複製的表在使用過程中不能經常變動表結構。(文/張夢強)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.