多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 數(shù)據(jù)庫 > Sqlserver > SQL Server教程:Replication 創(chuàng)建技巧

SQL Server教程:Replication 創(chuàng)建技巧

來源:程序員人生   發(fā)布時間:2014-05-04 03:31:08 閱讀次數(shù):3823次

SQLServer的Replication技術(shù)從2005開始,已經(jīng)變得非常成熟了,而且效果也很好,很多的公司在做讀寫分離時,都選擇了這項技術(shù);Replication現(xiàn)在包括事務(wù)、合并和快照三種,每項都有各自的應(yīng)用優(yōu)勢,大家用得最多的無疑是事物復(fù)制了,這種技術(shù)能保證我們發(fā)布端的數(shù)據(jù)的變更能及時傳輸?shù)接嗛喍耍W(wǎng)絡(luò)帶寬和服務(wù)器配置

如果不差的話,兩臺機(jī)器之間的數(shù)據(jù)延時是非常小的,這為我們的讀寫分離技術(shù)提供了有力的保障(很少出現(xiàn)用戶剛剛新加的數(shù)據(jù)查不到的現(xiàn)象),不僅分散了讀寫的壓力,而且在做機(jī)器維護(hù)時也游刃有余,并且用戶體驗也得到了比較好的提升,下面我們以事務(wù)復(fù)制為例,來介紹下創(chuàng)建復(fù)制鏈的技巧。

創(chuàng)建Replication有三種方法:

方法一:使用備份還原的技術(shù)

這個方法對數(shù)據(jù)量比較大,而且停機(jī)時間要求非常緊的數(shù)據(jù)庫復(fù)制是很好的選擇,實現(xiàn)方式很簡單,就是在停站的情況下,把我們的發(fā)布端的數(shù)據(jù)庫備份,

然后還原到訂閱端,這樣發(fā)布端和訂閱端的數(shù)據(jù)是一致的;然后我們再將同步鏈建上即可。

不過,這個方法有個要求是,我們把數(shù)據(jù)還原到訂閱端后,需要檢查所有的表是否有自增列,如果有自增列,我們需要將自增列改為普通列,方式如下:

1. 在訂閱端還原的數(shù)據(jù)庫上查找自增列:

--查找數(shù)據(jù)庫自增列

SELECT

表名= D.NAME,

列名= A.NAME,

是否自增= CASE WHEN COLUMNPROPERTY( A.ID,A.NAME, 'ISIDENTITY ')=1 THEN '√'ELSE '' END,

主鍵= CASE WHEN EXISTS(SELECT 1 FROM SYSOBJECTS WHERE XTYPE= 'PK ' AND PARENT_OBJ=A.ID AND NAME IN (

SELECT NAME FROM SYSINDEXES WHERE INDID IN(

SELECT INDID FROM SYSINDEXKEYS WHERE ID = A.ID AND COLID=A.COLID))) THEN '√' ELSE '' END

FROM SYSCOLUMNS A

LEFT JOIN SYSTYPES B ON A.XUSERTYPE=B.XUSERTYPE

INNER JOIN SYSOBJECTS D ON A.ID=D.ID AND D.XTYPE= 'U' AND D.NAME <> 'DTPROPERTIES '

where COLUMNPROPERTY( A.ID,A.NAME, 'ISIDENTITY ')=1

結(jié)果如下:

2. 將自增列修改成普通列:

方法是先重名了這些表,然后新建同名的表,表結(jié)構(gòu)一樣,但是去掉自增列屬性,然后將重命名的表數(shù)據(jù)導(dǎo)入到新表中,完成后我們就得到了沒有自增列

的表,然后就可以創(chuàng)建同步鏈了。

方法二:BCP和TableDiff

BCP結(jié)合TableDiff在我們?yōu)橐延械耐芥溙砑有卤恚乙蟀l(fā)布端必須保持在線,并對發(fā)布端業(yè)務(wù)影響最小時是非常好的方法,它的實現(xiàn)步驟如下:

1. 將需要新加到同步鏈的表結(jié)構(gòu)新建到訂閱端;

2. 在發(fā)布端準(zhǔn)備好BCP導(dǎo)出導(dǎo)入腳本,并將要新加的表通過BCP導(dǎo)出到文件中;

3. 將新表加入到同步鏈中(可以通過腳本,也可以直接通過可視化界面操作),暫停這條鏈上同步數(shù)據(jù)的JOB;

4. 運(yùn)行BCP導(dǎo)入腳本,將數(shù)據(jù)導(dǎo)入到訂閱端;

5. 用TableDiff比較新表在訂閱端和發(fā)布端的數(shù)據(jù),并補(bǔ)齊差異數(shù)據(jù)(TableDiff 比較后會自動生成不起差異數(shù)據(jù)的腳本,在訂閱端運(yùn)行即可);

6. 開啟暫停的同步鏈的JOB,這樣就完成了。

整個過程對系統(tǒng)業(yè)務(wù)影響非常小。

方法三:直接初始化快照

這種方式是最簡單的,但是對業(yè)務(wù)影響非常大,而且耗時也很長,基本不推薦(不過這個方法很多人在用,如果是很小的庫還是可以考慮)。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 亚洲网站免费看 | 在线视频一区二区三区四区 | 欧美色成人 | 国农村精品国产自线拍 | 羞羞视频日本动漫免费网站 | 欧美a级v片不卡在线观看 | 国产香蕉一区二区在线观看 | a级做人爱免费播放 | 亚洲不卡 | 性欧美videofree另类 | 久久视频一区 | 手机看片久久高清国产日韩 | 亚洲视频区 | 一本伊大人香蕉久久网手机 | 久久精品亚洲精品一区 | 欧美成视频 | 最新欧美日韩 | 最近中文国语字幕 | 国产精品原创永久在线观看 | 咸片在线网站免费观看 | 国产亚洲高清在线精品不卡 | 亚洲一级二级 | 亚洲 欧美 视频 | 亚洲欧美精品天堂久久综合一区 | 欧美午夜色大片在线观看免费 | 久久婷婷五月综合色丁香 | 久久综合九九亚洲一区 | 国产精品无码专区在线观看 | 亚洲精品美女久久久aaa | 欧美日本道免费一区二区三区 | 日韩久久久精品首页 | 亚洲欧美在线观看首页 | 性888xxxx入欧美 | 亚洲一区二区三区视频 | 男人都懂的www网站免费观看 | 香蕉在线视频网站 | 亚洲 校园 春色 另类 激情 | 一级做a爰片久久毛片看看 一级做a爰片久久毛片美女 | 成人卡通精品卡通动漫第一页 | 国产精品嫩草影院人体模特 | 亚洲第一页在线播放 |