交待:使用的軟硬件環(huán)境為Win XP SP2、SQL Server 2000 SP2個(gè)人版、普通雙核臺式機(jī)、1000M局域網(wǎng),A機(jī)為已使用的服務(wù)器,上面已有數(shù)據(jù)庫和海量數(shù)據(jù),B機(jī)為此次新架服務(wù)器,兩機(jī)登陸方式均為sql server身份驗(yàn)證模式,其它設(shè)置均為默認(rèn)設(shè)置,無特別。A機(jī)上另有FTP服務(wù)器,用于程序自動(dòng)更新。
1、在A機(jī)上執(zhí)行數(shù)據(jù)庫備份。
2、用A機(jī)上備份下來的數(shù)據(jù)庫備份文件在B機(jī)上執(zhí)行數(shù)據(jù)庫恢復(fù),保證A、B機(jī)均有完全相同的數(shù)據(jù)庫。(弄完后發(fā)現(xiàn)這上步好像不用做,反正發(fā)現(xiàn)時(shí)我已經(jīng)弄完了,也就沒有推倒重來驗(yàn)證)。
3、在A、B機(jī)上建兩個(gè)用戶名、密碼完全一樣的用戶(控制面板>計(jì)算機(jī)管理>用戶>新建),并把它們加入到administartor組。(如果兩臺機(jī)原來就都用administartor用戶登錄,那么,把兩臺機(jī)的登錄密碼改成一樣就行,不用另行建新用戶)
4、兩臺機(jī)上均進(jìn)行此操作:啟動(dòng)>程序>管理工具>服務(wù)>右鍵單擊SQLSERVERAGENT>屬性>登陸>設(shè)置為上一步弄的那個(gè)用戶名和密碼。
5、在A機(jī)上進(jìn)入企業(yè)管理器,把B機(jī)服務(wù)器加進(jìn)服務(wù)器組,B機(jī)上進(jìn)入企業(yè)管理器,把A機(jī)服務(wù)器加入服務(wù)器組。為省得麻煩,我都用了Sa用于兩機(jī)互相登錄SQL Server。
6、A機(jī)進(jìn)入企業(yè)管理器,右鍵單擊要發(fā)布的數(shù)據(jù)庫>新建>發(fā)布,一步步下去就行,無需要特別設(shè)置的地方,走完了后,數(shù)據(jù)庫下面會多出一個(gè)“發(fā)布”條目,右鍵點(diǎn)擊>屬性,可變更發(fā)布屬性各項(xiàng)設(shè)置。要注意幾點(diǎn):1是代理登錄用戶要用第3步中設(shè)置的用戶,不能用“系統(tǒng)用戶”,2是數(shù)據(jù)庫訪問用戶要指定(我是用的Sa,省得麻煩),3是要把A機(jī)上存放快照的目錄設(shè)為共享,不共享的話,B機(jī)是得不到快照的(我是沒用SQL默認(rèn)的目錄,人工指定為FTP服務(wù)器的根目錄,原因下詳),4是注意發(fā)布代理的工作頻率不要設(shè)置過快,必竟生成快照文件,然后通知訂閱者,訂閱者再來拿數(shù)據(jù)還是需要一些時(shí)間的,至于需要多快,看你數(shù)據(jù)變動(dòng)頻率以及兩機(jī)同步的快慢來設(shè)定吧,對于我來說,一天的數(shù)據(jù)丟失完全可以承受,于是乎,我設(shè)置了每5小時(shí)發(fā)布一次。
7、B機(jī)進(jìn)入企業(yè)管理器,右鍵單擊要同步的數(shù)據(jù)庫>新建>訂閱,一步步下去就行,無需要特別設(shè)置的地方。
8、完成后,按理說應(yīng)該就能同步了,但我發(fā)現(xiàn)沒有效果,查看A機(jī)上的發(fā)布管理器日志后發(fā)現(xiàn),原來是B機(jī)不能取得A機(jī)上的快照文件,一看,原來SQL Server訂閱用的端口居然是445,與病毒掃蕩波一樣,所以被防火墻攔掉了,囧,而我又不具有修改防火墻攔截規(guī)則的權(quán)限。于是在發(fā)布服務(wù)器屬性中把快照存放目錄指定為FTP所在根目錄,打開允許FTP,填入FTP服務(wù)器訪問用戶名和密碼,重新運(yùn)行發(fā)布代理。B機(jī)上刪除原訂閱,重新建立訂閱,設(shè)置采用FTP方式,于是問題解決。
PS:網(wǎng)上參考資料均說同步的表需要有主鍵,但我的系統(tǒng)中有一些表是沒有主鍵的(因?yàn)楸碇忻苛芯嬖谌舾上嗤担詿o法加主鍵,也懶得再去改表結(jié)構(gòu)專門添加個(gè)序列,因?yàn)榧觽€(gè)序列,偶就得改程序了,怕怕——!),最后同樣成功了,SO,表有沒有主鍵,肯定是不影響同步的,至少不影響快照同步模式。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com