一:【準(zhǔn)備條件】
<1>軟件準(zhǔn)備條件
機(jī)器A端:SqlServer2005 Management Studio + WinServer 2003 EntERPrise (作為發(fā)布服務(wù)器)
機(jī)器B端:Sqlserver2005 Management Studio Express + WinXP(作為訂閱服務(wù)器)
(可以用別的,不過訂閱服務(wù)器版本不得高于發(fā)布服務(wù)器版本)
<2>數(shù)據(jù)庫復(fù)制準(zhǔn)備條件
1. 所有被同步的數(shù)據(jù)表盡量要用主鍵,如果沒有主鍵也沒有關(guān)系,SqlServer會(huì)提示為表自動(dòng)生成主鍵,如圖
2. 發(fā)布服務(wù)器、分發(fā)服務(wù)器和訂閱服務(wù)器必須使用計(jì)算機(jī)名稱來進(jìn)行SQLSERVER服務(wù)器的注冊(cè)。
3. SQLSERVER必需啟動(dòng)代理服務(wù),且代理服務(wù)必須以本地計(jì)算機(jī)的帳號(hào)運(yùn)行。 不得使用IP地址以及別名進(jìn)行注冊(cè),比如LOCAL, “.”以及LOCALHOST等。
如果非同一網(wǎng)段或者遠(yuǎn)程服務(wù)器,或者只能用IP,不能用計(jì)算機(jī)名的,為對(duì)方注冊(cè)服務(wù)器別名。將其對(duì)應(yīng)關(guān)系加到本地系統(tǒng)網(wǎng)絡(luò)配置文件中。文件的具體位置在C:\Windows\system32\drivers\etc\hosts
配置方式: 用記事本打開hosts文件,在文件的最下方添加IP地址和主機(jī)名的對(duì)應(yīng)關(guān)系。如圖:
4.SqlServer 必需啟動(dòng)代理服務(wù),且代理服務(wù)必需以本地計(jì)算機(jī)的帳號(hào)運(yùn)行。
5.發(fā)布服務(wù)器和訂閱服務(wù)器都要設(shè)置MSDTC ,允許網(wǎng)絡(luò)訪問控制面板--->管理工具--->組件服務(wù)--->計(jì)算機(jī)--->我的電腦(Win7繼續(xù)找 -->Distributed Transaction Coordinator--->本地DTC),右鍵屬性,找到MSDTC選項(xiàng)卡,點(diǎn)擊安全設(shè)置,按如下設(shè)置即可
)
確定,重啟MSDTC服務(wù)。
二:準(zhǔn)備工作的詳細(xì)操作步驟
1、在發(fā)布服務(wù)器上,新建一個(gè)共享目錄,作為發(fā)布的快照文件的存放目錄,為共享目錄添加EveryOne的完全控制權(quán)限。
2、確定發(fā)布服務(wù)器上用來發(fā)布的數(shù)據(jù)庫和訂閱服務(wù)器的用來訂閱的數(shù)據(jù)庫結(jié)構(gòu)要保持一致,或者訂閱服務(wù)器新建一個(gè)空數(shù)據(jù)庫(不創(chuàng)建表)。
3、將發(fā)布端和訂閱端的數(shù)據(jù)庫所有者均設(shè)置為sa。
4、啟動(dòng)SQL代理(SQLSERVERAGENT)服務(wù)。
5、開啟SQL Server 2005的網(wǎng)絡(luò)協(xié)議TCP/IP和管道命名協(xié)議并重啟網(wǎng)絡(luò)服務(wù)。
6、設(shè)置SQL SERVER 身份驗(yàn)證為混合驗(yàn)證SQL Server和WINDOWS(發(fā)布、訂閱服務(wù)器均設(shè)置)
7、發(fā)布服務(wù)器和訂閱服務(wù)器互相注冊(cè)
步驟如下:視圖---à單擊已注冊(cè)服務(wù)器---à右擊 數(shù)據(jù)庫引擎---à新建服務(wù)器注冊(cè)----à填寫要注冊(cè)的遠(yuǎn)程服務(wù)器名稱----à身份驗(yàn)證選“SQL Server驗(yàn)證“----à用戶名(sa) 密碼,對(duì)于只能用IP,不能用計(jì)算機(jī)名的,為其注冊(cè)服務(wù)器別名,見上。
準(zhǔn)備工作完成,接下來我們進(jìn)行發(fā)布和訂閱的操作
二、【發(fā)布和訂閱】
一:發(fā)布
(1)首先我們?cè)诎l(fā)布服務(wù)器上(winserver2003)打開SqlServer2005 Management Studio (企業(yè)版)。在“對(duì)象資源管理器”中找到復(fù)制節(jié)點(diǎn),右鍵--->新建發(fā)布(注:如果你的SqlServer是express版本的話,是沒有發(fā)布這一功能的,只有訂閱功能!)
(2)接下來選擇要發(fā)布的數(shù)據(jù)庫,下一步,選擇“發(fā)布類型”,我這里選擇“合并發(fā)布”
(3)下一步,選擇訂閱服務(wù)器類型,選擇“SqlServer2005”,下一步,選擇發(fā)布項(xiàng)目,我們選擇表、視圖、存儲(chǔ)過程等。
(4)如果你的表沒有主鍵,SqlServer會(huì)提示你,為沒有主鍵的表自動(dòng)添加主鍵。
(5)接下來設(shè)置作業(yè)計(jì)劃,為了方便看到測(cè)試效果,我們?cè)O(shè)置“每隔一分鐘”執(zhí)行一次作業(yè)。
(6)設(shè)置快照代理安全性,連接到發(fā)布服務(wù)器時(shí),用模擬進(jìn)程即可。
(7) 為發(fā)布起個(gè)名字,完成發(fā)布
二:訂閱
接下來,我們配置訂閱服務(wù)器。訂閱服務(wù)器是winxp系統(tǒng),SqlServer版本為SqlServer 2005 Manager Studio Express ,只支持訂閱。
(1)同發(fā)布,新建訂閱
(2)選擇發(fā)布服務(wù)器,找到我們剛剛新建的發(fā)布“Test3Copy” ,下一步
(3)選擇運(yùn)行代理的位置,根據(jù)需求選擇是“推送”還是“請(qǐng)求”!
(4)接下來同發(fā)布類似,這里就不贅述了,訂閱執(zhí)行成功,在訂閱數(shù)據(jù)庫和發(fā)布數(shù)據(jù)庫的表中都會(huì)多出一個(gè)字段來,SqlServer自動(dòng)生成的!標(biāo)志訂閱成功。
三、【查看同步狀態(tài)】
查看同步狀態(tài),只能在發(fā)布服務(wù)器上查看。具體操作步驟:(下列圖中的發(fā)布跟上面提到的不是同一個(gè)發(fā)布)
(1)打開“復(fù)制”——>右鍵發(fā)布名稱——>“啟用復(fù)制監(jiān)視器”
(2)展開“我的發(fā)布服務(wù)器”——>發(fā)布服務(wù)器機(jī)器名稱-——>發(fā)布名稱。在右側(cè)會(huì)看到訂閱服務(wù)器的狀態(tài)“正在同步”。右鍵,選擇“屬性”可以打開詳細(xì)說明。
(3)打開屬性后,會(huì)彈出同步歷史記錄的對(duì)話框。這里有插入、更新、刪除等操作的記錄。
當(dāng)然這篇文章里還有許多細(xì)節(jié)可能說的不那么清楚,難免也會(huì)出現(xiàn)一些問題,我會(huì)在隨后的下篇博客中寫一下遇到的問題及解決方案。大家有什么問題,歡迎相互交流。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:SqlServer2005 數(shù)據(jù)庫同步配置詳解
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112162796.html