SQL Server 複製訂閱

標籤:SQL SERVER/MSSQL SERVER/數據庫/DBA/高性能解決方案/高可用html

概述  

配置複製就沒有數據庫鏡像和AlwaysOn的要求那麼高,只須要兩臺服務器能經過TCP進行通信便可,兩臺服務器操做系統和SQL版本均可以不徹底一致,並且兩臺服務器也不須要加入域,因此配置複製訂閱就簡單多了,可是複製訂閱主要是針對數據表而不能像鏡像和AlwaysOn那樣配置整個數據庫,這也是它的缺點吧。數據庫

接下來主要除了前面介紹配置複製訂閱後面還會解釋一些須要注意的事項。安全

複製數據庫:AdventureWorks2008R2服務器

 

注意:性能

1.發佈的表必需要存在主鍵和彙集索引,以前遇到過上G級別的表由於沒有彙集索引致使訂閱失敗。ui

2.一個發佈項目不要包含的表不要太大,因爲發佈生成快照的過程當中會鎖表同時會堵塞相應表的進程,若是表太大致使生成快照的時間過長勢必會致使服務器堵塞很是的嚴重有時候還會出現很嚴重的問題!!!,能夠經過多建立幾個發佈項目來解決。spa

3.發佈服務器和分發服務器分開,減小發布服務器的壓力。操作系統

4.注意一些特殊字符類型的字段會致使建立訂閱失敗,這裏面能夠將字段的數據類型改爲unicode類型的字段,unicode類型的字段在SQLServer中以N開頭,好比nchar、nvarchar、ntext等。3d

5.若是要建立請求訂閱,那麼快照文件夾路徑須要配置共享文件夾。代理

 

目錄

配置分發服務器

將分發服務器和發佈服務器配置爲同一臺服務器。

1.複製-本地發佈-配置

2.配置分發嚮導-下一步

3.CLU11是發佈服務器,這裏選擇將CLU11同時配置爲分發服務器,會在CLU11上面建立分發數據庫

4.選擇快照路徑,默認路徑便可

注意:若是要建立請求訂閱,那麼這裏須要配置共享文件夾

5.分發數據庫名稱和分發數據庫數據文件、日誌文件路徑

6.默認下一步

7.默認完成

8.完成分發服務器配置

建立發佈

1.複製-本地發佈-新建發佈 

2.選擇須要發佈的數據庫

3.選擇發佈類型-事務發佈

發佈類型總共有四種,這裏配置最經常使用的事務發佈類型

4.選擇須要配置發佈的表

建立發佈的表必定要存在主鍵列

5.查看發佈的項目屬性,默認配置便可

6.在表項目屬性中主要是配置將哪些對象和設置應用的訂閱服務器,

在屬性中咱們能夠看到會複製彙集索引、排序規則、DML操做、DLL操做等應用到訂閱服務器,

由於通常發佈服務器和訂閱服務器的業務應用是不同的,因此默認只會複製這些主要的對象,不會複製非彙集索引外鍵等,由於在訂閱服務器可能須要建的它須要的業務場景的索引。

7.不配置篩選,默認下一步

8.勾選當即建立快照並保持可用狀態

9.配置代理安全性帳戶

10.用於鏈接到發佈服務器的rep帳戶必須擁有AdventureWorks2008R2數據庫的全部者權限,服務器級別的權限public便可

11.建立發佈-下一步

12.輸入發佈項目名稱

13.完成發佈數據庫配置

建立訂閱

1.在訂閱服務器中-複製-本地訂閱-新建訂閱 

2.選擇發佈服務器-查找SQL Server發佈服務器

3.鏈接CLU11發佈服務器

4.因爲CLU11服務器中只配置了一個發佈,因此默認顯示出剛纔配置的發佈

5.配置分發代理位置-選擇在分發服務器上運行全部代理

6.下一步

8.配置訂閱代理安全性帳戶

9.鏈接到訂閱服務器的帳戶一樣須要訂閱數據庫的全部者權限,服務器級別也是Public便可

10.代理計劃-連續運行

11.初始化時間-當即

12.建立訂閱

13.完成訂閱建立

14.完成

查看配置

1.在發佈服務器CLU11的路徑下能夠找到新生成的快照文件路徑

 

2.在CLU11發佈服務器的系統數據庫中建立了「distribution」分發數據庫

3.在訂閱服務器,訂閱數據庫「AdventureWorks2008R2」中生成了發佈的兩張表,

注意:訂閱數據庫與發佈數據庫不須要同樣,這裏不要被誤解

4.在發佈服務器的複製下建立了一個發佈項目

5.查看複製監視器,在這裏能夠配置和查看發佈訂閱和監控分發狀況,能夠配置警告

6.發佈屬性-這裏能夠配置和修改發佈

7.訂閱屬性-這裏能夠修改訂閱安全登入帳號

8.在發佈服務器的代理中生成了三個做業,分別是和分發有關的快照日誌讀取做業,和發佈有關的發佈做業,和訂閱有關的分發做業。

 

添加新的發佈表

1. 在複製監視器-個人發佈服務器-CLU11-右鍵發佈項目-屬性,去掉」僅顯示列表中已選中的項目勾選「

勾選」AWBuildVersion「表,肯定保存

建立發佈的表必定要存在主鍵列

2.複製監視器-個人發佈服務器-CLU11-右鍵發佈項目-生成快照

3.在訂閱數據庫查看生成的訂閱表

4.在發佈服務器的快照文件夾下面能夠看到生成了一個新的快照文件夾

5.查看訂閱屬性,能夠看到分發歷史記錄

總結

 因爲將分發服務器和發佈服務器配置在同一臺服務器,對發佈服務器會有必定的壓力,在平時的操做過程當中若是須要對發佈的表進行刪除字段的操做以前首先要查看訂閱表中是否建立了該字段的索引,若是建立了須要把字段從索引中去掉,不然會形成發佈訂閱報錯。

 

SQL Server 高可用方案大全:

SQL Server AlwaysOn:http://www.cnblogs.com/chenmh/p/4484176.html

SQL Server 鏡像:http://www.cnblogs.com/chenmh/p/4452902.html

SQL Server 事務日誌傳輸:http://www.cnblogs.com/chenmh/p/3671030.html

SQL Server 複製:http://www.cnblogs.com/chenmh/p/4487766.html

故障轉移羣集:http://www.cnblogs.com/chenmh/p/4479304.html

SQL Server 2016快照代理過程分析:http://www.cnblogs.com/chenmh/p/7895991.html

 

 

備註:

    做者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站點全部隨筆都是原創,歡迎你們轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連接,不然保留追究責任的權利。

《歡迎交流討論》

相關文章
相關標籤/搜索