偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

淺述SQL Server的Replication技術創(chuàng)建技巧

數據庫 SQL Server
SQL Server的Replication技術現在包括事務、合并和快照三種,每項都有各自的應用優(yōu)勢,大家用得最多的無疑是事物復制了,這種技術能保證我們發(fā)布端的數據的變更能及時傳輸到訂閱端,網絡帶寬和服務器配置。本文簡單論述了Replication的創(chuàng)建技巧,希望讀者喜歡。

SQL Server的Replication技術已經變得非常成熟了,而且效果也很好,很多的公司在做讀寫分離時,都選擇了這項技術;Replication現在包括事務、合并和快照三種,每項都有各自的應用優(yōu)勢,大家用得最多的無疑是事物復制了,這種技術能保證我們發(fā)布端的數據的變更能及時傳輸到訂閱端,網絡帶寬和服務器配置。

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

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

方法一:使用備份還原的技術

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

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

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

1.在訂閱端還原的數據庫上查找自增列:

--查找數據庫自增列

  1. SELECT  
  2.  
  3. 表名=D.NAME,  
  4.  
  5. 列名= A.NAME,  
  6.  
  7. 是否自增=CASEWHENCOLUMNPROPERTY( A.ID,A.NAME, 'ISIDENTITY ')=1THEN'√'ELSE''END,  
  8.  
  9. 主鍵=CASEWHENEXISTS(SELECT1FROMSYSOBJECTS WHEREXTYPE='PK 'AND PARENT_OBJ=A.ID ANDNAME IN (  
  10.  
  11. SELECTNAME FROMSYSINDEXES WHEREINDID IN(  
  12.  
  13. SELECTINDID FROMSYSINDEXKEYS WHEREID =A.ID AND COLID=A.COLID))) THEN'√'ELSE''END  
  14.  
  15. FROM SYSCOLUMNS A  
  16.  
  17. LEFTJOINSYSTYPES B ONA.XUSERTYPE=B.XUSERTYPE  
  18.  
  19. INNERJOINSYSOBJECTS D ONA.ID=D.ID AND D.XTYPE='U'ANDD.NAME <>'DTPROPERTIES '  
  20.  
  21. where  COLUMNPROPERTY( A.ID,A.NAME, 'ISIDENTITY ') 

#p#

 結果如下:

淺述SQL Server的Replication技術創(chuàng)建技巧 

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

方法是先重名了這些表,然后新建同名的表,表結構一樣,但是去掉自增列屬性,然后將重命名的表數據導入到新表中,完成后我們就得到了沒有自增列的表,然后就可以創(chuàng)建同步鏈了。

方法二:BCP和TableDiff

BCP結合TableDiff在我們?yōu)橐延械耐芥溙砑有卤?,而且要求發(fā)布端必須保持在線,并對發(fā)布端業(yè)務影響最小時是非常好的方法,它的實現步驟如下:

1. 將需要新加到同步鏈的表結構新建到訂閱端;

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

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

4. 運行BCP導入腳本,將數據導入到訂閱端;

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

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

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

方法三:直接初始化快照

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

【編輯推薦】

  1. 淺談訪問SQL Azure數據庫操作的方法
  2. 談談Java調用SQL Server分頁存儲過程
  3. 淺析SQL Server數據修復命令DBCC的使用
  4. 怎樣獲取某個數據庫的所有存儲過程SQL語句
  5. 如何在SQL Server 2005中使用作業(yè)實現備份和特定刪除
責任編輯:趙鵬 來源: 博客園
相關推薦

2011-05-24 11:26:27

OTN

2010-07-06 17:05:22

PPPOE協(xié)議

2010-07-15 13:52:51

TELNET連接

2010-06-29 12:17:16

SIGTRAN協(xié)議

2010-06-24 15:02:43

FTP協(xié)議

2009-09-28 14:49:44

Hiberante映射

2010-08-02 16:08:24

ICMP協(xié)議設置

2010-09-06 14:10:27

PPP內核

2009-09-25 13:10:15

Hibernate性能

2010-07-13 14:52:21

Linux SNMP

2010-08-05 17:06:58

RIP路由協(xié)議

2010-07-12 16:58:34

LEACH協(xié)議

2010-06-10 16:16:42

BGP路由協(xié)議

2010-09-08 16:01:57

SIP協(xié)議棧

2010-09-07 14:50:20

CISCO PPP配置

2010-07-20 17:40:57

AIX telnet

2010-08-04 16:55:16

NFS服務

2011-05-06 15:54:47

Service BroSQL Server

2010-09-25 14:25:29

Linux DHCP服

2010-09-07 14:30:20

Linux PPPoE
點贊
收藏

51CTO技術棧公眾號