講解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 2005的複製儲存過程選項BYSQLServer儲存過程
- mysql的主從複製 原理講解MySql
- 利用SQL Server Management Studio(SSMS)複製資料庫SQLServerSSM資料庫
- MySQL 傳統複製與 GTID 複製原理及操作詳解MySql
- SQL Server 2008資料複製新特性及其帶來的價值(下)XDSQLServer
- mysql同步(複製)延遲的原因及解決方案MySql
- 複雜背景的缺陷提取
- 用幾張圖實戰講解MySQL主從複製MySql
- Sql Server實時監控釋出訂閱複製Replication、subscription有多少延遲的方法SQLServer
- Mysql 非同步複製延遲的原因及解決方案MySql非同步
- Oracle SQL精妙SQL語句講解OracleSQL
- MS SQL Server 刪除重複行資料SQLServer
- 瞭解SQL Server觸發器及觸發器中的事務AWSQLServer觸發器
- SQL批量複製命令的六個陷阱PBSQL
- DataGear 變更部署資料庫為SQL Server填坑指南(含轉寫後的SQL server程式碼及SQL server配置檔案)資料庫SQLServer
- SQL Server常見問題介紹及快速解決建議SQLServer
- SQL Server查詢慢的解決方案SQLServer
- SQL Server:觸發器詳解SQLServer觸發器
- Java 中的深複製和淺複製你瞭解嗎?Java
- MySQL 主從複製,常見的binlog錯誤及解決方法MySql
- 淺複製和深複製的概念與值複製和指標複製(引用複製)有關 淺複製 “指標複製 深複製 值複製指標
- GreatSQL 非同步複製及搭建SQL非同步
- 8個SQL講解優化SQL優化
- sql serverSQLServer
- SQL Server實戰二:建立、修改、複製、刪除資料庫表並加以資料處理SQLServer資料庫
- sql server 警報管理及實時監聽SQLServer
- T-SQL——關於表資料的複製插入SQL
- 【能力提升】SQL Server常見問題介紹及快速解決建議SQLServer
- SQL Server 2008中Analysis Services的新特性——深入SQL Server 2008SQLServer
- 【PG流複製】Postgresql流複製部署過程及效能測試SQL
- 關於SQL Server 映象資料庫快照的建立及使用SQLServer資料庫
- SQL Server 的死鎖SQLServer
- 都在講Redis主從複製原理,我來講實踐總結Redis
- Mysql主從複製原理及搭建MySql
- Sql Server監控釋出訂閱複製Replication、subscription的延遲時間和未傳送命令列數量SQLServer命令列
- Redis複製流程:圖解Redis圖解
- SQL觸發器例項講解SQL觸發器
- SQL Server 2000詳細安裝過程及配置SQLServer
- SQL Server 2005詳細安裝過程及配置SQLServer