《Replication的犄角旮旯》系列導讀
Replication的犄角旮旯(一)--變更訂閱端表名的應用場景
Replication的犄角旮旯(二)--尋找訂閱端丟失的記錄
Replication的犄角旮旯(三)--聊聊@bitmap
Replication的犄角旮旯(四)--關于事務復制的監控
Replication的犄角旮旯(五)--關于復制identity列
Replication的犄角旮旯(六)-- 一個DDL引發的血案(上)(如何近似估算DDL操作進度)
Replication的犄角旮旯(七)-- 一個DDL引發的血案(下)(聊聊logreader的延遲)
Replication的犄角旮旯(八)-- 訂閱與發布異構的問題
Replication的犄角旮旯(九)-- sp_setsubscriptionxactseqno,賦予訂閱活力的工具
---------------------------------------華麗麗的分割線--------------------------------------------
今天被群友問到復制環境中identity屬性的問題。在此通過幾個測試說明一下identity列是如何在復制環境中實現的;
以下測試均是基于SQLSERVER 2012 SP1下的事務復制環境;
先拋出幾個測試目的;
1、identity列和not for replication的關系,發布端及訂閱端何時添加not for replication屬性
2、快照初始化、備份初始化、不初始化訂閱對not for replication參數的依賴
3、如何添加not for replication,在哪添加not for relication,以及替代not for replication的方法
先解釋一下not for replication
http://msdn.microsoft.com/zh-cn/library/ms174979.aspx
簡單說,對于identity、外鍵約束、check約束,可以通過指定not forreplication避免訂閱端寫入數據失??;
測試開始:
先在同一個實例下創建兩個庫test_byxl_1、test_byxl_2,分別作為本次測試的發布庫和訂閱庫;
test_byxl_1下創建tb_ident_1表,結構如下
1 create table test_byxl_1.dbo.tb_ident_1 (id int PRimary key identity ,name varchar(10))View Code
添加這個表的發布,只創建publication、添加article即可;
新聞熱點
疑難解答