SqlServer2005 數據庫發布、訂閱配置圖文詳解
來源:程序員人生 發布時間:2015-01-05 08:05:11 閱讀次數:4668次
1:準備條件
<1>軟件準備條件
機器A端:SqlServer2005 Management Studio + WinServer 2003 Enterprise (作為發布
服務器)
機器B端:
Sqlserver2005 Management Studio Express + WinXP(作為定閱
服務器)
(可以用別的,不過定閱
服務器版本不得高于發布
服務器版本)
<2>
數據庫復制準備條件
1. 所有被同步的數據表盡可能要用主鍵,如果沒有主鍵也沒有關系,SqlServer會提示為表自動生成主鍵
2. 發布服務器、分發服務器和定閱服務器必須使用計算機名稱來進行SQLSERVER服務器的注冊。
3. SQLSERVER必須啟動代理服務,且代理服務必須以本地計算機的帳號運行。 不得使用IP地址和別名進行注冊,比如LOCAL, “.”和LOCALHOST等。
4.如果非同1網段或遠程服務器,或只能用IP,不能用計算機名的,為對方注冊服務器別名。將其對應關系加到本地系統網絡配置文件中。文件的具體位置在C:Windowssystem32driversetchosts,這里的配置和linux下類似:
192.168.0.1 server
192.168.0.2 client
5.SqlServer 必須啟動代理服務,且代理服務必須以本地計算機的帳號運行。
6.發布服務器和定閱服務器都要設置MSDTC ,允許網絡訪問控制面板--->管理工具--->組件服務--->計算機--->我的電腦(Win7繼續找 -->Distributed Transaction Coordinator--->本地DTC),右鍵屬性,找到MSDTC選項卡,點擊安全設置,按以下設置便可:

肯定,重啟MSDTC服務。
2:準備工作的詳細操作步驟
1、啟動SQL代理(SQLSERVERAGENT)服務。
2、開啟SQL Server 2005的網絡協議TCP/IP和管道命名協議并重啟網絡服務(在SQL Server Configuration Manager里頭配置)。
3、設置SQL SERVER 身份驗證為混合驗證SQL Server和WINDOWS(發布、定閱服務器均設置)
4、發布服務器和定閱服務器相互注冊
步驟以下:視圖---單擊已注冊服務器---右擊 數據庫引擎---新建服務器注冊----填寫要注冊的遠程服務器名稱----身份驗證選“SQL Server驗證“----用戶名(sa) 密碼,對只能用IP,不能用計算機名的,為其注冊服務器別名,見上。
準備工作完成,接下來我們進行發布和定閱的操作
3:發布和定閱
發布
(1)首先我們在發布服務器上(winserver2003)打開SqlServer2005 Management Studio (企業版)。在“對象資源管理器”中找到復制節點,右鍵--->新建發布(注:如果你的SqlServer是express版本的話,是沒有發布這1功能的,只有定閱功能!)

(2)接下來選擇要發布的數據庫,下1步,選擇“發布類型”,我這里選擇“合并發布”,
我本人理解的幾種發布類型:
- 快照復制:快照復制只在某1時刻給出版數據庫中的出版數據照相,然后將數據復制到定閱者的服務器上,快照復制較為簡單,其所復制的只是某1時刻數據庫的瞬間數據,因此實時性差,而且值得注意的是快照復制其實不是不停地監視出版數據庫中產生的變化情況,它是對出版數據庫進行異性掃描,把所有出版數據中的數據從源數據庫送至目標數據庫,而不單單是變化的數據。如果數據量很大,那末要復制的數據就很多。因此對網絡資源要求很高,不但要有較快的傳輸速度,而且要保證傳輸的可靠性。快照復制是最簡單的1種復制類型,能夠在出版者和定閱者之間保證數據的1致性,快照復制通常使用在以下場合:在1定時間內出現大量的更改操作,但數據總量不大,變化周期較長。
- 事務復制:快照復制是將全部數據集發送給定閱服務器,由于體積大而造成復制周期較長,會構成復制滯后問題。那末事務復制使用事務日志來生成將復制到定閱服務器的事務,由于它只復制事務也就是變化,所以滯后也比快照復制低很多,由于將不斷地在定閱服務器處得到及時利用。
事務復制有3個組件:
快照代理,它生成架構,數據和跟蹤復制進程所需的數據;
分發代理:它分發快照和隨后的命令;
日志讀取器代理:它讀取發布數據的事務日志。在事務復制中,當出版數據庫產生變化時,這類變化就會立即傳遞給定閱者。并在較短時間內完成(幾秒),而不是像快照復制那樣要經過很長1段時間間隔。因此,事務復制是1種接近實時地從源到目標分發數據的方法。由于某種緣由事務復制的頻率較高。所以必須保證在定閱者與出版者之間要有可靠的網絡連接。 - 合并復制:合并復制是為移動用戶設計的,可以在發布服務器或是定閱服務器處履行修改,在合并代理運行時,這些修改將同步,多用于發布服務器與定閱服務都修改數據的情況下。工作原理以下:在要復制的每一個表上實現觸發器,并使用包括GUID列唯1標識要復制的表中的每行。對其中的任何1個表進行修改時,都會將更改將記錄1個數據表中,在合并代理運行時,它搜集數據表中的GUID,這些GUID指出了在發布服務器和定閱服務器處修改過的行。對只在發布服務器或是定閱端修改的數據則直接進行相應操作,如INSERT,UPDATE,DELETE,如果雙方都有GUID則依照用戶指定的方式解決沖突,默許發布服務器伏先。
配置復制:
不管是快照復制,事務性復制還是合并復制,創建復制都要經過以下幾個步驟:
1.創建發布
服務器。選擇要發布的
服務器。如果有條件的,也能夠分發
服務器,在這里我們就將發布
服務器和分發
服務器設置在同1臺計算機上。
2.不論是發布
服務器還是定閱
服務器必須開啟代理服務。
3.創建1個發布。行將需要的
數據庫及對象發布出來。
4.選擇1個合適自己的發布類型。
5.設置復制代理及安全,即指定可以運行代理的用戶帳號。
(3)下1步,選擇定閱
服務器類型,選擇“SqlServer2005”,下1步,選擇發布項目,我們選擇表、視圖、存儲進程等。
(4)接下來設置作業計劃,為了方便看到測試效果,我們設置“每隔1分鐘”履行1次作業。

(5)設置快照代理安全性,連接到發布服務器時,使用sa
(6)為發布起個名字,完成發布

定閱
接下來,我們配置定閱服務器。定閱服務器是winxp系統,SqlServer版本為SqlServer 2005 Manager Studio Express ,只支持定閱。
(1)同發布,新建定閱

(2)選擇發布服務器,找到我們剛剛新建的發布“Test3Copy” ,下1步

(3)選擇運行代理的位置,根據需求選擇是“推送”還是“要求

(4)接下來同發布類似,這里就不贅述了,定閱履行成功,在定閱數據庫和發布數據庫的表中都會多出1個字段來,SqlServer自動生成的標志定閱成功
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈