主從庫(kù)是兩臺(tái)服務(wù)器上的兩個(gè)數(shù)據(jù)庫(kù),主庫(kù)以最快的速度做增刪改操作+最新數(shù)據(jù)的查詢操作;從庫(kù)負(fù)責(zé)查詢較舊數(shù)據(jù),做一些對(duì)實(shí)效性要求較小的分析,報(bào)表生成的工作。這樣做將數(shù)據(jù)庫(kù)的壓力分擔(dān)到兩臺(tái)服務(wù)器上從而保證整個(gè)系統(tǒng)響應(yīng)的及時(shí)性。
SQL Server提供了復(fù)制機(jī)制來(lái)幫我們實(shí)現(xiàn)主從庫(kù)的機(jī)制。
實(shí)踐前需要新創(chuàng)建一個(gè)Test的數(shù)據(jù)庫(kù),這個(gè)庫(kù)中建一個(gè)測(cè)試表。
1. 打開sql server企業(yè)管理器,在對(duì)象資源管理器里面選擇復(fù)制->本地發(fā)布,右鍵選擇新建發(fā)布;
2. 打開新建發(fā)布向?qū)Вc(diǎn)下一步,選擇發(fā)布數(shù)據(jù)的數(shù)據(jù)庫(kù);
3. 我們選擇Test數(shù)據(jù)庫(kù),并點(diǎn)擊下一步,選擇發(fā)布類型;
注: 這里我們選擇的是事務(wù)性發(fā)布,事務(wù)性發(fā)布保證數(shù)據(jù)在做更新之后盡可能快的分發(fā)到訂閱服務(wù)器上。有關(guān)其他幾種發(fā)布類型的使用場(chǎng)景請(qǐng)參考msdn
4. 點(diǎn)擊下一步,選擇要發(fā)布的對(duì)象,這里我們只對(duì)表進(jìn)行發(fā)布;
5.點(diǎn)擊下一步進(jìn)入篩選數(shù)據(jù)設(shè)置,這里我們要復(fù)制表的所有數(shù)據(jù)所以不做設(shè)置;
6. 點(diǎn)擊下一步,指定何時(shí)運(yùn)行快照,我們選擇初始話數(shù)據(jù),并選擇默認(rèn)的運(yùn)行快照頻率;
7. 繼續(xù)下一步,設(shè)置快照代理的運(yùn)行賬戶,我們選擇sql server agent賬戶;
8. 點(diǎn)擊下一步選擇創(chuàng)建發(fā)布,再次點(diǎn)擊下一步設(shè)置發(fā)布的名稱;
9. 點(diǎn)擊完成,完成發(fā)布的設(shè)置,并創(chuàng)建發(fā)布,現(xiàn)在在本地發(fā)布出新添加了我們創(chuàng)建的發(fā)布。
現(xiàn)在成功創(chuàng)建了發(fā)布,我們還需要?jiǎng)?chuàng)建訂閱:在本地訂閱文件夾上右擊新建訂閱,通過(guò)向?qū)Э梢院苋菀椎膭?chuàng)建訂閱,創(chuàng)建訂閱時(shí)可以選擇以發(fā)布者推送或者訂閱者主動(dòng)的方式創(chuàng)建。具體步驟如下:
1. 通過(guò)右鍵菜單打開新建訂閱,點(diǎn)擊下一步,選擇我們剛剛創(chuàng)建的發(fā)布作為訂閱源;
2. 選擇是以推送還是以主動(dòng)請(qǐng)求的方式同步數(shù)據(jù),我們選擇主動(dòng)訂閱;
3. 設(shè)置執(zhí)行分發(fā)代理的賬戶;
4. 設(shè)置代理請(qǐng)求同步的頻率;
5. 設(shè)定是否立即做數(shù)據(jù)的初始化操作
6. 完成創(chuàng)建訂閱
創(chuàng)建完成之后,我們可以通過(guò)在主庫(kù)表中插入n條數(shù)據(jù),然后在從庫(kù)中查詢的方式驗(yàn)證復(fù)制是否成功。
在Sql server2005中的復(fù)制創(chuàng)建起來(lái)很簡(jiǎn)單,我們需要根據(jù)業(yè)務(wù)需要設(shè)定復(fù)制的類型和同步的頻率。