文章來源:https://www.cnblogs.com/chenmh/p/4487766.html
概述
配置復(fù)制就沒有數(shù)據(jù)庫鏡像和AlwaysOn的要求那么高,只需要兩臺(tái)服務(wù)器能通過TCP進(jìn)行通訊即可,
兩臺(tái)服務(wù)器操作系統(tǒng)和SQL版本都可以不完全一致,而且兩臺(tái)服務(wù)器也不需要加入域,所以配置復(fù)制訂閱就簡單多了,
但是復(fù)制訂閱主要是針對(duì)數(shù)據(jù)表而不能像鏡像和AlwaysOn那樣配置整個(gè)數(shù)據(jù)庫,這也是它的缺點(diǎn)吧。
接下來主要除了前面介紹配置復(fù)制訂閱后面還會(huì)解釋一些需要注意的事項(xiàng)。
復(fù)制數(shù)據(jù)庫:AdventureWorks2008R2
注意:
1.發(fā)布的表必須要存在主鍵和聚集索引,之前遇到過上G級(jí)別的表因?yàn)闆]有聚集索引導(dǎo)致訂閱失敗。
2.一個(gè)發(fā)布項(xiàng)目不要包含的表不要太大,由于發(fā)布生成快照的過程中會(huì)鎖表同時(shí)會(huì)堵塞相應(yīng)表的進(jìn)程,
如果表太大導(dǎo)致生成快照的時(shí)間過長勢必會(huì)導(dǎo)致服務(wù)器堵塞非常的嚴(yán)重有時(shí)候還會(huì)出現(xiàn)很嚴(yán)重的問題?。?!,可以通過多創(chuàng)建幾個(gè)發(fā)布項(xiàng)目來解決。
3.發(fā)布服務(wù)器和分發(fā)服務(wù)器分開,減少發(fā)布服務(wù)器的壓力。
4.注意一些特殊字符類型的字段會(huì)導(dǎo)致創(chuàng)建訂閱失敗,這里面可以將字段的數(shù)據(jù)類型改成unicode類型的字段,
unicode類型的字段在SQLServer中以N開頭,比如nchar、nvarchar、ntext等。
5.如果要?jiǎng)?chuàng)建請(qǐng)求訂閱,那么快照文件夾路徑需要配置共享文件夾。
目錄
概述
配置分發(fā)服務(wù)器
創(chuàng)建發(fā)布
創(chuàng)建訂閱
查看配置
添加新的發(fā)布表
總結(jié)
一、配置分發(fā)服務(wù)器
將分發(fā)服務(wù)器和發(fā)布服務(wù)器配置為同一臺(tái)服務(wù)器。
1.復(fù)制-本地發(fā)布-配置
2.配置分發(fā)向?qū)?下一步
3.CLU11是發(fā)布服務(wù)器,這里選擇將CLU11同時(shí)配置為分發(fā)服務(wù)器,會(huì)在CLU11上面創(chuàng)建分發(fā)數(shù)據(jù)庫
4.選擇快照路徑,默認(rèn)路徑即可
注意:如果要?jiǎng)?chuàng)建請(qǐng)求訂閱,那么這里需要配置共享文件夾
5.分發(fā)數(shù)據(jù)庫名稱和分發(fā)數(shù)據(jù)庫數(shù)據(jù)文件、日志文件路徑
6.默認(rèn)下一步
7.默認(rèn)完成
8.完成分發(fā)服務(wù)器配置
二、創(chuàng)建發(fā)布
1.復(fù)制-本地發(fā)布-新建發(fā)布
2.選擇需要發(fā)布的數(shù)據(jù)庫
3.選擇發(fā)布類型-事務(wù)發(fā)布
發(fā)布類型總共有四種,這里配置最常用的事務(wù)發(fā)布類型
4.選擇需要配置發(fā)布的表
創(chuàng)建發(fā)布的表一定要存在主鍵列
5.查看發(fā)布的項(xiàng)目屬性,默認(rèn)配置即可
6.在表項(xiàng)目屬性中主要是配置將哪些對(duì)象和設(shè)置應(yīng)用的訂閱服務(wù)器,
在屬性中我們可以看到會(huì)復(fù)制聚集索引、排序規(guī)則、DML操作、DLL操作等應(yīng)用到訂閱服務(wù)器,
因?yàn)橐话惆l(fā)布服務(wù)器和訂閱服務(wù)器的業(yè)務(wù)應(yīng)用是不一樣的,所以默認(rèn)只會(huì)復(fù)制這些主要的對(duì)象,
不會(huì)復(fù)制非聚集索引外鍵等,因?yàn)樵谟嗛喎?wù)器可能需要建的它需要的業(yè)務(wù)場景的索引。
7.不配置篩選,默認(rèn)下一步
8.勾選立即創(chuàng)建快照并保持可用狀態(tài)
9.配置代理安全性賬戶
10.用于連接到發(fā)布服務(wù)器的rep賬戶必須擁有AdventureWorks2008R2數(shù)據(jù)庫的所有者權(quán)限,服務(wù)器級(jí)別的權(quán)限public即可
11.創(chuàng)建發(fā)布-下一步
12.輸入發(fā)布項(xiàng)目名稱
13.完成發(fā)布數(shù)據(jù)庫配置
三、創(chuàng)建訂閱
1.在訂閱服務(wù)器中-復(fù)制-本地訂閱-新建訂閱
2.選擇發(fā)布服務(wù)器-查找SQL Server發(fā)布服務(wù)器
3.連接CLU11發(fā)布服務(wù)器
4.由于CLU11服務(wù)器中只配置了一個(gè)發(fā)布,所以默認(rèn)顯示出剛才配置的發(fā)布
5.配置分發(fā)代理位置-選擇在分發(fā)服務(wù)器上運(yùn)行所有代理
6.下一步
7.配置訂閱代理安全性賬戶
8.連接到訂閱服務(wù)器的賬戶同樣需要訂閱數(shù)據(jù)庫的所有者權(quán)限,服務(wù)器級(jí)別也是Public即可
9.代理計(jì)劃-連續(xù)運(yùn)行
10.初始化時(shí)間-立即
11.創(chuàng)建訂閱
12.完成訂閱創(chuàng)建
13.完成
四、查看配置
1.在發(fā)布服務(wù)器CLU11的路徑下可以找到新生成的快照文件路徑
2.在CLU11發(fā)布服務(wù)器的系統(tǒng)數(shù)據(jù)庫中創(chuàng)建了“distribution”分發(fā)數(shù)據(jù)庫
3.在訂閱服務(wù)器,訂閱數(shù)據(jù)庫“AdventureWorks2008R2”中生成了發(fā)布的兩張表,
注意:訂閱數(shù)據(jù)庫與發(fā)布數(shù)據(jù)庫不需要一樣,這里不要被誤解
4.在發(fā)布服務(wù)器的復(fù)制下創(chuàng)建了一個(gè)發(fā)布項(xiàng)目
5.查看復(fù)制監(jiān)視器,在這里可以配置和查看發(fā)布訂閱和監(jiān)控分發(fā)情況,可以配置警告
6.發(fā)布屬性-這里可以配置和修改發(fā)布
7.訂閱屬性-這里可以修改訂閱安全登入賬號(hào)
8.在發(fā)布服務(wù)器的代理中生成了三個(gè)作業(yè),分別是和分發(fā)有關(guān)的快照日志讀取作業(yè),和發(fā)布有關(guān)的發(fā)布作業(yè),和訂閱有關(guān)的分發(fā)作業(yè)。
五、添加新的發(fā)布表
1. 在復(fù)制監(jiān)視器-我的發(fā)布服務(wù)器-CLU11-右鍵發(fā)布項(xiàng)目-屬性,去掉”僅顯示列表中已選中的項(xiàng)目勾選“
勾選”AWBuildVersion“表,確定保存
創(chuàng)建發(fā)布的表一定要存在主鍵列
2.復(fù)制監(jiān)視器-我的發(fā)布服務(wù)器-CLU11-右鍵發(fā)布項(xiàng)目-生成快照
3.在訂閱數(shù)據(jù)庫查看生成的訂閱表
4.在發(fā)布服務(wù)器的快照文件夾下面可以看到生成了一個(gè)新的快照文件夾
5.查看訂閱屬性,可以看到分發(fā)歷史記錄
總結(jié)
由于將分發(fā)服務(wù)器和發(fā)布服務(wù)器配置在同一臺(tái)服務(wù)器,對(duì)發(fā)布服務(wù)器會(huì)有一定的壓力,
在平時(shí)的操作過程中如果需要對(duì)發(fā)布的表進(jìn)行刪除字段的操作之前首先要查看訂閱表中是否創(chuàng)建了該字段的索引,
如果創(chuàng)建了需要把字段從索引中去掉,否則會(huì)造成發(fā)布訂閱報(bào)錯(cuò)。