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