亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

用SQL實現分布式數據復制

2019-11-18 22:13:09
字體:
來源:轉載
供稿:網友
復制的概念

  復制作為一個重要并且強大的技術,為分布式數據的存儲和處理提供了有力支持。微軟公司的SQL Server可以生成數
據的拷貝,并能把這些數據的拷貝分發到不同的地方,自動進行數據的同步,保持所有的數據拷貝具有相同的數據。SQL
Server采用一種稱為“松散一致”的復制模式在兩個數據庫之間進行復制。這兩個數據庫既可以在同一臺計算機上,也可
以在不同的計算機上,彼此通過局域網(LAN)、廣域網(WAN)進行連接。

  我們公司在開發“西安市國家稅務局內部網絡信息系統”中,正是利用了SQL Server的復制功能,實現全西安市分布
的稅收數據的復制同步。西安市國家稅局包括市局機關和下屬的18個基層征管分局,分布于西安市不同的地理位置,彼此通
過DDN專線或X.25專線連接,構成了西安國稅局廣域網。市局信息中心用Windows NT Server4.0 構建一個Windows NT的單
主域網絡環境,下屬每個分局有一臺運行Windows NT Server 4.0或Windows NT Server 3.51的服務器,通過廣域網加入到
單主域的環境中作為一臺獨立的服務器運行。各分局建有本分局的局域網,網絡環境為Novell和Windows NT的混合網絡環
境。

  全西安市所有的納稅人,均到指定的征管分局進行納稅登記、納稅申報。國稅局用FoxPRo開發了基于Novell網絡環境
的稅收征管軟件,在各分局征收大廳由Novell的無盤工作站負責稅收數據的錄入,寫入到Novell服務器上的數個DBF文件
中。由于稅收征管數據分布在全市不同的征管分局,為全市范圍納稅信息的檢索和分析帶來困難。

  新系統的開發,在原有基礎上,編制專門的數據轉換程序,把存儲于Novell服務器上的DBF文件轉換到本分局Windows
NT上的SQL Server數據庫中。每個分局的SQL Server數據庫與市局信息中心的SQL Server數據庫進行復制,及時把最新的
稅收數據傳遞到市局信息中心。這樣在市局信息中心,就有了全市所有稅收征管數據。信息中心建立Intranet Web站點,
用戶的計算機只要連上各分局的局域網,或者通過Modem撥號到信息中心的RAS服務器,就可以用IE瀏覽器訪問IIS服務器,
由IIS服務器向SQL Server服務器發出數據請求并把結果按HTML格式返回給用戶瀏覽器。

  系統的設計采用客戶瀏覽/服務器的多層結構方式,客戶端采用標準的瀏覽器訪問方式。用戶在自己的計算機上安裝IE
瀏覽器(WIN98、WINNT4.0中已內置IE4瀏覽器),輸入Web 站點地址,就可以進入該系統。

  在中間層,由Internet Information Server完成大多數的用戶業務規則的實現,例如對用戶權限的限制、數據請求的
生成等。IIS會根據不同的用戶所擁有的不同的權限,生成不同的頁面。將來當業務規則發生變化時,只需要在Internet
Information Server上進行相應的更改,這種更改就會在系統的每一個用戶下次訪問系統時得到體現。

  在系統的最低層,由SQL Server大型關系數據庫作為支撐。西安全市的稅務數據是一個以GB為單位的大型數據庫,納
稅數據表中的數據記錄超過數百萬條,在如此大量的數據中進行快速的數據檢索和數據分析,一般的數據庫軟件是難以完
成的。SQL Server關系型數據庫,較好地完成了用戶提出的各種數據的檢索要求,同時也正是利用了SQL Server的數據復
制技術,把近二十個分局的數據通過廣域網復制到信息中心來,使用戶能快速獲取全市的納稅信息。

  該系統實現的一個重要部分就是各分局稅收征管數據的復制。SQL Server的復制有以下幾個特點:

  1.基于事務

  有復制標志的事務從源數據庫的事務日志讀出,并送到目的數據庫。例如執行了一條Insert語句使源數據庫的數據發
生變化,這條Insert語句會被寫入到一個數據庫中,我們稱之為發布數據庫(Distrbution)。在適當的時候,這條Insert
語句會送到復制的目的數據庫并執行該Insert語句,以此保證兩端的數據保持同步。

  2.以三種不同的方式使用服務器

  (1)出版(Publication):作為源數據服務器(在本系統中是各分局的SQL Server服務器),當標志復制的表
(Table)的數據發生變化時,產生該變化的事務被刻上復制標志,由日志閱讀器(LogReader)把該事務送入分發數據庫
(Distribution Database)。這些事務寄存在分發數據庫中直到被傳送到目的服務器。

  (2)分發(Distribution):包含有分發數據庫。分發服務器接受出版服務器的更改事務,并保存到分發數據庫中。在
適當的時候,把這些事務送入訂閱服務器。缺省情況下,分發服務器與出版服務器為同一臺計算機,當然也可以是不同的
計算機。

  (3)訂閱(Subscription):接受出版服務器的出版數據。

  3.使用專用的SQL Server數據庫作為復制數據的可靠隊列

  SQL Server的復制采用“松散一致”復制模式,其特征是源數據與拷貝數據之間并不是在任何時刻都保持完全一致,
它們之間有一個延時。源數據庫的變化,不是立刻反應到訂閱數據庫中,而是把產生變化的事務寫入一個專門的分發數據
庫中(Distribution)。當這些事務累計到設定值時,由事務分發器(Distribution task)把事務送到訂閱服務器中。訂
閱服務器再執行這些事務來保持源數據與拷貝數據的一致。分發數據庫完成了一種緩沖的作用,當因網絡或其他問題使復
制不能完成時,源數據的變化會一直保存在分發數據庫中直到問題解決再自動把所有保存的事務送出,并且復制兩端的數
據仍保持一致。這種方式使SQL Server數據的復制有極大的自適應性和可靠性,最大限度減少用戶的干預。

  SQL Server的復制主要組成部分有:日志閱讀(Log Reader)、初始同步(Synchornization)、數據分發
(Distribution)和分發數據庫。

  初始同步是復制真正開始執行的第一步。類似于開始傳送事務前,先給源數據庫照一個快照,把傳送事務前的那一時
刻的數據拷貝到訂閱數據庫。其實質就是把那時刻的數據生成BCP文件,通過網絡傳到訂閱數據庫。完成初始同步后,再開
始由日志閱讀初始同步以后的事務,并由數據分發過程傳送分發數據庫中的事務到訂閱服務器中去。

  復制的實現

  下面我們結合在西安市國家稅務局內部網絡信息系統的實例,介紹SQL Server6.5的配置以及其中需要注意的事項。

  復制前的準備

  (1)使用一種字符集:市局和分局的SQL Server的配置使用一種字符集。

  (2)允許分局服務器有足夠的事務日志空間。

  (3)最好設置MSSQL Service 和SQLExecutive Service Auto Start at Boot time。

  復制的安裝

  (1)運行Microsoft SQL Enterprise Manage,在Server Manager窗口中選擇源數據服務器。

  (2)從Server選單選擇Replication Configuration, 然后從所出現的子選單選擇Install Publishing。出現Install
Replication Publishing 對話框。

  (3)選擇Local-Install New Local Distribution Database選項(配置該服務器充當自身的分發服務器)。

  在為分發數據庫建立分發數據庫設備時,要根據源數據的更新率估計分發數據設備的大小,盡量把分發數據庫建大
些。

  設置出版和訂閱服務器和數據庫

  在前面的安裝分發數據庫中,如果在詢問是否在本次配置服務器選項對話框中,選擇YES,則出現
Replication-Publishing對話框。在Enable Publishin to These Servers(左邊列表)目錄中選擇訂閱的服務器,在本實
例中為信息中心的SQL Server。在Publishing Database下(右邊列表),選擇被允許出版數據的數據庫。

  回到Server Manager,選擇訂閱服務器,從Server選單選擇Replication Configuration;然后從出現的下拉選單選擇
Subscribing,出現Replication-Subscribing對話框。在左側的Publishing Server框中選擇源數據SQL服務器,在右側的
框內選擇拷貝的數據庫。

  復制數據的設置

  安裝SQL Server復制并設置復制的服務器和數據庫后,要進行出版物的設置,就是指定復制數據庫中那些表要進行復
制,一個出版物可以包括很多表。

  從Server Manager窗口,選擇源數據服務器。

  從Manage選單,選擇Replication,然后選擇Publication對話框。

  選擇“NEW”,出現Edit Publications對話框。為該復制數據設置一個名字,選擇要復制的表到右邊的列表。

  這里要注意到這樣一個情況,因為我們要從多個源數據庫向一個中心服務器數據庫復制數據,一定要保證源數據之間
不會互相影響。復制的表中要有字段定義數據的來源。

  在Edit Publications對話框,選擇右邊列表中要復制的表,按“Edit”按鈕,進入Manage Article對話框,在最下面
的Restriction Clause中輸入標識唯一源數據的條件。

  在Manage Article對話框中,選擇Scripts標簽。按“Generate”按鈕,出現模式源設置畫面。這里需要設置初始同步
的模式。在多個源數據庫向一個中心數據庫復制數據時,這里一定要選擇“DELETE DATA Using Restriction Clause”,
即是用前面的唯一標識條件對數據操作。否則會造成不同數據源的復制數據互相影響。

  開發體會

  SQL Server的復制被設計成最小用戶干預的實現。一旦設置完成后,基本不需要用戶再去進行處理。雖然初始同步時
SQL Server自動進行的,但在實際應用中,廣域網的連接(DDN、X.25)常常不能完成這種同步,所以需要我們手工完成初
始同步,例如自己把源數據庫BCP數據導出,再導入到訂閱數據庫中,選擇初始同步的模式為No Data Synchronization。

  SQL Server的復制是基于事務的。在廣域網的連接速度比較慢的情況下,不要做一次更新很多記錄的操作,例如一條
無條件限制的UPDATE語句,在源數據庫中可能影響1000條記錄,但在事務傳送中,會發出1000條UPDATE語句并作為一個事
務傳出,很容易造成復制失敗。這時最好把更新的操作分解得很小,每一條更新語句都作為單獨的事務傳送。

  適當增大分發數據庫的大小,保證在網絡不同的情況下,分發數據庫有足夠的空間保存更新操作的事務。

  及時清除分發數據庫。設置復制后,SQL Server會生成一個清除分發數據庫的任務,負責把分發數據庫中分發到訂閱
服務器的事務刪除。但缺省情況下,清除任務是每天夜里105執行,如果你的SQL Server服務器不是24小時開機,注意把
該任務調整到開機的時間范圍內內執行。

  對于大數據庫的數據查詢檢索SQL語句的編寫,特別是對帶有GROUP一類合計的查詢的使用以及多表連接,一定要注
意。盡量避免GROUP后有多余兩個字段的查詢,把需要按多個字段分組GROUP的查詢分成多次,利用中間表完成查詢。適當
增加temdb數據庫的大小,使用一臺單獨的服務器作為SQL Server服務器,盡量為SQL Server分配更多的內存。例如在128M
內存的配置下,為SQL Server分配100M的內存。

  在微軟新近推出的SQL Server 7中,數據查詢的功能得到很大的加強,在多表連接、合計分組等方面都有很大的提
高。SQL Server6.5中的數據復制是單向的,僅有源數據庫的數據被更新到訂閱數據庫中。在新版本的SQL Server7中,復
制已經實現了雙向的復制,任何一端數據的更改,都會在另一端得到體現。SQL Server7中的復制,出版和訂閱服務器可以
使用不一樣的代碼頁,這一點也較SQL Server6.5限制少了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美在线免费视频| 欧美老肥婆性猛交视频| 国产精品美女无圣光视频| 综合欧美国产视频二区| 视频直播国产精品| 91亚洲精华国产精华| 成人a视频在线观看| 亚洲欧洲一区二区三区在线观看| 成人久久18免费网站图片| 91精品国产色综合久久不卡98| 国产精品最新在线观看| 国产一区二区三区在线视频| 奇门遁甲1982国语版免费观看高清| 日韩欧美视频一区二区三区| 亚洲欧美激情四射在线日| 日本高清视频一区| 中文字幕一精品亚洲无线一区| 久久久久久久色| 欧美黄网免费在线观看| 日韩欧美国产免费播放| 国产一区二区三区日韩欧美| 久久精品国产欧美激情| 亚洲乱亚洲乱妇无码| 久久久噜噜噜久久中文字免| 国产a∨精品一区二区三区不卡| 精品久久久久国产| 久久99精品久久久久久青青91| 亚洲r级在线观看| 亚洲午夜未满十八勿入免费观看全集| 久久久久久久亚洲精品| 欧美另类精品xxxx孕妇| 精品久久香蕉国产线看观看gif| 永久免费精品影视网站| 欧美成人性色生活仑片| 成人国产精品一区二区| 亚洲乱码一区av黑人高潮| 亚洲区中文字幕| 日av在线播放中文不卡| 久久精品精品电影网| 亚洲一级免费视频| 久久久久久久久久久久av| 欧美人在线视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美精品在线免费播放| 国产精品∨欧美精品v日韩精品| 国产精品麻豆va在线播放| 亚洲欧美另类中文字幕| 欧美日韩国产影院| 欧美性一区二区三区| 黑人巨大精品欧美一区二区免费| 久久精品青青大伊人av| 色中色综合影院手机版在线观看| 最近的2019中文字幕免费一页| 精品国产91久久久久久老师| 成人激情视频在线观看| 亚洲国产一区二区三区在线观看| 久久久久久久久久久免费| 欧美体内谢she精2性欧美| 亚洲天堂网在线观看| 九九精品在线播放| 亚洲欧美日本精品| 操91在线视频| 国产丝袜一区二区三区免费视频| 亚洲欧美另类自拍| 欧美日韩不卡合集视频| 日韩精品在线观看网站| 日韩在线不卡视频| 91久久综合亚洲鲁鲁五月天| 中文字幕一区日韩电影| 国产精品老牛影院在线观看| 亚洲91av视频| 亚洲爱爱爱爱爱| 国产精品极品美女粉嫩高清在线| 日韩欧美在线视频日韩欧美在线视频| 91在线免费观看网站| 91大神福利视频在线| 国产精品免费观看在线| 午夜剧场成人观在线视频免费观看| 久久精品中文字幕一区| 亚洲视频免费一区| 国产精品在线看| 亚洲视频在线播放| 精品国产91久久久久久| 国内精品久久久久| 国产精品久久久久久久美男| 亚洲欧美国产一本综合首页| 成人观看高清在线观看免费| 97在线看福利| 77777少妇光屁股久久一区| 中文字幕在线国产精品| 欧美国产日韩一区二区三区| 亚洲高清不卡av| 一本大道亚洲视频| 精品激情国产视频| 国产亚洲免费的视频看| 亚洲第一区中文字幕| 精品一区二区亚洲| 欧美电影免费看| 欧美日韩在线影院| 91欧美激情另类亚洲| 久久中文字幕一区| 成人免费xxxxx在线观看| 欧美大片免费观看| 国产精品高潮粉嫩av| 国产区精品在线观看| 超碰日本道色综合久久综合| 国产日韩中文字幕| 国内精品免费午夜毛片| 国产精品久久久久77777| 国产精品流白浆视频| 欧美性做爰毛片| 国产一区深夜福利| 久久久精品欧美| 久久久亚洲影院| 国产精品入口福利| 欧美成人精品不卡视频在线观看| 成人中心免费视频| 欧美性色xo影院| 97超级碰碰碰久久久| 国产日韩在线看片| 亚洲国产97在线精品一区| 国产精品老女人精品视频| 国产精品劲爆视频| www.欧美精品一二三区| 国产一区二区三区精品久久久| 久久99热这里只有精品国产| 欧美日韩在线视频一区| 尤物yw午夜国产精品视频明星| 国产日韩精品综合网站| 欧美日韩xxx| 夜夜嗨av一区二区三区免费区| 亚洲xxxx视频| 午夜精品免费视频| 国产成人短视频| 国产精品美女视频网站| 国产成人福利夜色影视| 亚洲午夜未删减在线观看| 精品欧美一区二区三区| 日韩va亚洲va欧洲va国产| 久久久噜噜噜久久久| 日韩视频亚洲视频| 欧美风情在线观看| 国产一区二区视频在线观看| 日韩网站免费观看| 欧美大码xxxx| 亚洲精品视频免费在线观看| 亚洲色图在线观看| 久久亚洲精品国产亚洲老地址| 91亚洲人电影| 另类专区欧美制服同性| 国产精品丝袜白浆摸在线| 大荫蒂欧美视频另类xxxx| 色偷偷av一区二区三区乱| 欧美午夜精品久久久久久浪潮| 国产精品va在线播放| 中文字幕在线国产精品| 51精品国产黑色丝袜高跟鞋| 日本欧美黄网站| 国产精品老牛影院在线观看| 国产91精品视频在线观看| 狠狠躁18三区二区一区| 欧美高清一级大片| 欧美视频精品一区| 中文字幕欧美专区|