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