講解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複製的缺陷:
sql server 每隔一定時間進行一次複製,如果找不到另一臺Server(比如因為網路故障,或是另一臺SQL Server沒有啟動),經過n(預設為10)次連線後,它的複製功能將會down掉,直至有人將複製功能啟動。 需要複製的表中如果在複製之前就有資料,在建立複製時比較麻煩(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複製的缺陷:
sql server 每隔一定時間進行一次複製,如果找不到另一臺Server(比如因為網路故障,或是另一臺SQL Server沒有啟動),經過n(預設為10)次連線後,它的複製功能將會down掉,直至有人將複製功能啟動。 需要複製的表中如果在複製之前就有資料,在建立複製時比較麻煩(sql server不提供此類問題的解決方法,需要手動完成)。因此,需要複製的表在使用過程中不能經常變動表結構。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-660417/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 講解SQL Server的版本區別及選擇SQLServer
- SQL Server 複製訂閱SQLServer
- SQL Server 複製故障排除SQLServer
- SQL Server 三種複製的區別SQLServer
- [zt] SQL Server 2000複製SQLServer
- mysql的主從複製 原理講解MySql
- MS SQL Server資料庫中合併複製詳解SQLServer資料庫
- SQL Server複製的表中如何修改欄位SQLServer
- SQL Server 合併複製遇到identity range check報錯的解決SQLServerIDE
- SQL Server 2008 新增功能 -- 複製SQLServer
- SQL SERVER 2005中的同步複製技術SQLServer
- 淺析SQL Server複製的向後相容性SQLServer
- 【SqlServer】【Oracle】sql複製表定義及複製資料行SQLServerOracle
- SQL Server2000表複製的原理問題SQLServer
- 複製的SQL Server 7資料庫的恢復方法 (轉)SQLServer資料庫
- SQL Server 2005的複製儲存過程選項BYSQLServer儲存過程
- SQL Server 2008實現對等複製的方法SQLServer
- 講解刪除SQL Server日誌的具體方法SQLServer
- 利用SQL Server Management Studio(SSMS)複製資料庫SQLServerSSM資料庫
- 複製或傳送SQL Server資料庫(ADP)SQLServer資料庫
- SQL複製的工作原理SQL
- MySQL 傳統複製與 GTID 複製原理及操作詳解MySql
- sql server 2005 有自增長的表複製情況SQLServer
- 主從複製、雙主複製及半同步複製、以及基於SSL的複製
- SQL Server 2008配置拓撲(對等複製)SQLServer
- SQL Server 2008配置對等事務複製SQLServer
- 詳解SQL Server的版本區別及選擇SQLServer
- 用幾張圖實戰講解MySQL主從複製MySql
- mysql:sql as 複製表MySql
- 深入講解SQL Server 2005資料庫中的SMOSQLServer資料庫
- 詳細講解刪除SQL Server日誌的具體方法SQLServer
- 講解SQL Server執行緒和纖程的管理和配置SQLServer執行緒
- mysql同步(複製)延遲的原因及解決方案MySql
- PDF複製亂碼 -- 原因及解決方案
- MySQL的主從複製、半同步複製、主主複製詳解MySql
- 複製git倉庫到ServerGitServer
- [zt] 使用SQL Server中的Linked Server及Remote ServerSQLServerREM
- Mysql 非同步複製延遲的原因及解決方案MySql非同步