文章來源:https://www.cnblogs.com/chenmh/p/4487766.html
概述
配置復(fù)制就沒有數(shù)據(jù)庫鏡像和AlwaysOn的要求那么高,只需要兩臺服務(wù)器能通過TCP進行通訊即可,
兩臺服務(wù)器操作系統(tǒng)和SQL版本都可以不完全一致,而且兩臺服務(wù)器也不需要加入域,所以配置復(fù)制訂閱就簡單多了,
但是復(fù)制訂閱主要是針對數(shù)據(jù)表而不能像鏡像和AlwaysOn那樣配置整個數(shù)據(jù)庫,這也是它的缺點吧。
接下來主要除了前面介紹配置復(fù)制訂閱后面還會解釋一些需要注意的事項。
復(fù)制數(shù)據(jù)庫:AdventureWorks2008R2
注意:
1.發(fā)布的表必須要存在主鍵和聚集索引,之前遇到過上G級別的表因為沒有聚集索引導(dǎo)致訂閱失敗。
2.一個發(fā)布項目不要包含的表不要太大,由于發(fā)布生成快照的過程中會鎖表同時會堵塞相應(yīng)表的進程,
如果表太大導(dǎo)致生成快照的時間過長勢必會導(dǎo)致服務(wù)器堵塞非常的嚴重有時候還會出現(xiàn)很嚴重的問題!??!,可以通過多創(chuàng)建幾個發(fā)布項目來解決。
3.發(fā)布服務(wù)器和分發(fā)服務(wù)器分開,減少發(fā)布服務(wù)器的壓力。
4.注意一些特殊字符類型的字段會導(dǎo)致創(chuàng)建訂閱失敗,這里面可以將字段的數(shù)據(jù)類型改成unicode類型的字段,
unicode類型的字段在SQLServer中以N開頭,比如nchar、nvarchar、ntext等。
5.如果要創(chuàng)建請求訂閱,那么快照文件夾路徑需要配置共享文件夾。
目錄
概述
配置分發(fā)服務(wù)器
創(chuàng)建發(fā)布
創(chuàng)建訂閱
查看配置
添加新的發(fā)布表
總結(jié)
一、配置分發(fā)服務(wù)器
將分發(fā)服務(wù)器和發(fā)布服務(wù)器配置為同一臺服務(wù)器。
1.復(fù)制-本地發(fā)布-配置
![01.png 01.png](/images/ueditor/20231111/6383532858723486224818312.png)
2.配置分發(fā)向?qū)?下一步
![02.png 02.png](/images/ueditor/20231111/6383532860987582292200331.png)
3.CLU11是發(fā)布服務(wù)器,這里選擇將CLU11同時配置為分發(fā)服務(wù)器,會在CLU11上面創(chuàng)建分發(fā)數(shù)據(jù)庫
![03.png 03.png](/images/ueditor/20231111/6383532861622039414596070.png)
4.選擇快照路徑,默認路徑即可
![04.png 04.png](/images/ueditor/20231111/6383532862168820015892460.png)
注意:如果要創(chuàng)建請求訂閱,那么這里需要配置共享文件夾
5.分發(fā)數(shù)據(jù)庫名稱和分發(fā)數(shù)據(jù)庫數(shù)據(jù)文件、日志文件路徑
![05.png 05.png](/images/ueditor/20231111/6383532862732884091201408.png)
6.默認下一步
![06.png 06.png](/images/ueditor/20231111/6383532863212579271869497.png)
7.默認完成
![07.png 07.png](/images/ueditor/20231111/6383532863690701284010169.png)
8.完成分發(fā)服務(wù)器配置
![08.png 08.png](/images/ueditor/20231111/6383532864190710905149308.png)
二、創(chuàng)建發(fā)布
1.復(fù)制-本地發(fā)布-新建發(fā)布
![11.png 11.png](/images/ueditor/20231111/6383532864940736036858016.png)
2.選擇需要發(fā)布的數(shù)據(jù)庫
![12.png 12.png](/images/ueditor/20231111/6383532865496967674424393.png)
3.選擇發(fā)布類型-事務(wù)發(fā)布
發(fā)布類型總共有四種,這里配置最常用的事務(wù)發(fā)布類型
![13.png 13.png](/images/ueditor/20231111/6383532866432912567831033.png)
4.選擇需要配置發(fā)布的表
創(chuàng)建發(fā)布的表一定要存在主鍵列
![14.png 14.png](/images/ueditor/20231111/6383532867245413365182133.png)
5.查看發(fā)布的項目屬性,默認配置即可
![15.png 15.png](/images/ueditor/20231111/6383532867756359471522332.png)
6.在表項目屬性中主要是配置將哪些對象和設(shè)置應(yīng)用的訂閱服務(wù)器,
在屬性中我們可以看到會復(fù)制聚集索引、排序規(guī)則、DML操作、DLL操作等應(yīng)用到訂閱服務(wù)器,
因為一般發(fā)布服務(wù)器和訂閱服務(wù)器的業(yè)務(wù)應(yīng)用是不一樣的,所以默認只會復(fù)制這些主要的對象,
不會復(fù)制非聚集索引外鍵等,因為在訂閱服務(wù)器可能需要建的它需要的業(yè)務(wù)場景的索引。
![16.png 16.png](/images/ueditor/20231111/6383532868342310809531575.png)
7.不配置篩選,默認下一步
![17.png 17.png](/images/ueditor/20231111/6383532868965750713428081.png)
8.勾選立即創(chuàng)建快照并保持可用狀態(tài)
![18.png 18.png](/images/ueditor/20231111/6383532869539202638708845.png)
9.配置代理安全性賬戶
![19.png 19.png](/images/ueditor/20231111/6383532870117303469975517.png)
10.用于連接到發(fā)布服務(wù)器的rep賬戶必須擁有AdventureWorks2008R2數(shù)據(jù)庫的所有者權(quán)限,服務(wù)器級別的權(quán)限public即可
![20.png 20.png](/images/ueditor/20231111/6383532871728261283421821.png)
11.創(chuàng)建發(fā)布-下一步
![21.png 21.png](/images/ueditor/20231111/6383532872832948209812006.png)
12.輸入發(fā)布項目名稱
![22.png 22.png](/images/ueditor/20231111/6383532873532958569606800.png)
13.完成發(fā)布數(shù)據(jù)庫配置
![23.png 23.png](/images/ueditor/20231111/6383532874087642068645760.png)
三、創(chuàng)建訂閱
1.在訂閱服務(wù)器中-復(fù)制-本地訂閱-新建訂閱
![31.png 31.png](/images/ueditor/20231111/6383532874629852314956242.png)
2.選擇發(fā)布服務(wù)器-查找SQL Server發(fā)布服務(wù)器
![32.png 32.png](/images/ueditor/20231111/6383532875256406209609410.png)
3.連接CLU11發(fā)布服務(wù)器
![33.png 33.png](/images/ueditor/20231111/6383532876200154941758620.png)
4.由于CLU11服務(wù)器中只配置了一個發(fā)布,所以默認顯示出剛才配置的發(fā)布
![34.png 34.png](/images/ueditor/20231111/6383532876839232829140267.png)
5.配置分發(fā)代理位置-選擇在分發(fā)服務(wù)器上運行所有代理
![35.png 35.png](/images/ueditor/20231111/6383532877329849289307590.png)
6.下一步
![36.png 36.png](/images/ueditor/20231111/6383532877845485665931869.png)
7.配置訂閱代理安全性賬戶
![37.png 37.png](/images/ueditor/20231111/6383532878409550615942645.png)
8.連接到訂閱服務(wù)器的賬戶同樣需要訂閱數(shù)據(jù)庫的所有者權(quán)限,服務(wù)器級別也是Public即可
![38.png 38.png](/images/ueditor/20231111/6383532879231422784265561.png)
9.代理計劃-連續(xù)運行
![39.png 39.png](/images/ueditor/20231111/6383532879742367584903933.png)
10.初始化時間-立即
![40.png 40.png](/images/ueditor/20231111/6383532880384575015042242.png)
11.創(chuàng)建訂閱
![41.png 41.png](/images/ueditor/20231111/6383532880887712477938044.png)
12.完成訂閱創(chuàng)建
![42.png 42.png](/images/ueditor/20231111/6383532881558000886289973.png)
13.完成
![43.png 43.png](/images/ueditor/20231111/6383532882079880272129405.png)
四、查看配置
1.在發(fā)布服務(wù)器CLU11的路徑下可以找到新生成的快照文件路徑
![51.png 51.png](/images/ueditor/20231111/6383532882625197149196550.png)
2.在CLU11發(fā)布服務(wù)器的系統(tǒng)數(shù)據(jù)庫中創(chuàng)建了“distribution”分發(fā)數(shù)據(jù)庫
![52.png 52.png](/images/ueditor/20231111/6383532883292440105791816.png)
3.在訂閱服務(wù)器,訂閱數(shù)據(jù)庫“AdventureWorks2008R2”中生成了發(fā)布的兩張表,
注意:訂閱數(shù)據(jù)庫與發(fā)布數(shù)據(jù)庫不需要一樣,這里不要被誤解
![53.png 53.png](/images/ueditor/20231111/6383532884028329206244628.png)
4.在發(fā)布服務(wù)器的復(fù)制下創(chuàng)建了一個發(fā)布項目
![54.png 54.png](/images/ueditor/20231111/6383532884653338547668551.png)
5.查看復(fù)制監(jiān)視器,在這里可以配置和查看發(fā)布訂閱和監(jiān)控分發(fā)情況,可以配置警告
![55.png 55.png](/images/ueditor/20231111/6383532885400217372918769.png)
6.發(fā)布屬性-這里可以配置和修改發(fā)布
![56.png 56.png](/images/ueditor/20231111/6383532886012722061614213.png)
7.訂閱屬性-這里可以修改訂閱安全登入賬號
![57.png 57.png](/images/ueditor/20231111/6383532886558034108681358.png)
8.在發(fā)布服務(wù)器的代理中生成了三個作業(yè),分別是和分發(fā)有關(guān)的快照日志讀取作業(yè),和發(fā)布有關(guān)的發(fā)布作業(yè),和訂閱有關(guān)的分發(fā)作業(yè)。
![58.png 58.png](/images/ueditor/20231111/6383532887129928386434704.png)
五、添加新的發(fā)布表
1. 在復(fù)制監(jiān)視器-我的發(fā)布服務(wù)器-CLU11-右鍵發(fā)布項目-屬性,去掉”僅顯示列表中已選中的項目勾選“
勾選”AWBuildVersion“表,確定保存
創(chuàng)建發(fā)布的表一定要存在主鍵列
![61.png 61.png](/images/ueditor/20231111/6383532887695538644972898.png)
2.復(fù)制監(jiān)視器-我的發(fā)布服務(wù)器-CLU11-右鍵發(fā)布項目-生成快照
![62.png 62.png](/images/ueditor/20231111/6383532888390885284483612.png)
3.在訂閱數(shù)據(jù)庫查看生成的訂閱表
![63.png 63.png](/images/ueditor/20231111/6383532888997111413963903.png)
4.在發(fā)布服務(wù)器的快照文件夾下面可以看到生成了一個新的快照文件夾
![64.png 64.png](/images/ueditor/20231111/6383532889728365048430807.png)
5.查看訂閱屬性,可以看到分發(fā)歷史記錄
![65.png 65.png](/images/ueditor/20231111/6383532890287743037753848.png)
總結(jié)
由于將分發(fā)服務(wù)器和發(fā)布服務(wù)器配置在同一臺服務(wù)器,對發(fā)布服務(wù)器會有一定的壓力,
在平時的操作過程中如果需要對發(fā)布的表進行刪除字段的操作之前首先要查看訂閱表中是否創(chuàng)建了該字段的索引,
如果創(chuàng)建了需要把字段從索引中去掉,否則會造成發(fā)布訂閱報錯。