天天看點

SQL Server 複制訂閱

标簽:SQL SERVER/MSSQL SERVER/資料庫/DBA/高性能解決方案/高可用

配置複制就沒有資料庫鏡像和AlwaysOn的要求那麼高,隻需要兩台伺服器能通過TCP進行通訊即可,兩台伺服器作業系統和SQL版本都可以不完全一緻,而且兩台伺服器也不需要加入域,是以配置複制訂閱就簡單多了,但是複制訂閱主要是針對資料表而不能像鏡像和AlwaysOn那樣配置整個資料庫,這也是它的缺點吧。

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

複制資料庫:AdventureWorks2008R2

注意:

1.釋出的表必須要存在主鍵和聚集索引,之前遇到過上G級别的表因為沒有聚集索引導緻訂閱失敗。

2.一個釋出項目不要包含的表不要太大,由于釋出生成快照的過程中會鎖表同時會堵塞相應表的程序,如果表太大導緻生成快照的時間過長勢必會導緻伺服器堵塞非常的嚴重有時候還會出現很嚴重的問題!!!,可以通過多建立幾個釋出項目來解決。

3.釋出伺服器和分發伺服器分開,減少釋出伺服器的壓力。

4.注意一些特殊字元類型的字段會導緻建立訂閱失敗,這裡面可以将字段的資料類型改成unicode類型的字段,unicode類型的字段在SQLServer中以N開頭,比如nchar、nvarchar、ntext等。

5.如果要建立請求訂閱,那麼快照檔案夾路徑需要配置共享檔案夾。

目錄

<a href="http://www.cnblogs.com/chenmh/p/4487766.html#%E6%A6%82%E8%BF%B0" target="_top"> 概述</a>

<a href="http://www.cnblogs.com/chenmh/p/4487766.html#%E9%85%8D%E7%BD%AE%E5%88%86%E5%8F%91%E6%9C%8D%E5%8A%A1%E5%99%A8" target="_top"> 配置分發伺服器</a>

<a href="http://www.cnblogs.com/chenmh/p/4487766.html#%E5%88%9B%E5%BB%BA%E5%8F%91%E5%B8%83" target="_top"> 建立釋出</a>

<a href="http://www.cnblogs.com/chenmh/p/4487766.html#%E5%88%9B%E5%BB%BA%E8%AE%A2%E9%98%85" target="_top"> 建立訂閱</a>

<a href="http://www.cnblogs.com/chenmh/p/4487766.html#%E6%9F%A5%E7%9C%8B%E9%85%8D%E7%BD%AE" target="_top"> 檢視配置</a>

<a href="http://www.cnblogs.com/chenmh/p/4487766.html#%E6%B7%BB%E5%8A%A0%E6%96%B0%E7%9A%84%E5%8F%91%E5%B8%83%E8%A1%A8" target="_top"> 添加新的釋出表</a>

<a href="http://www.cnblogs.com/chenmh/p/4487766.html#%E6%80%BB%E7%BB%93" target="_top"> 總結</a>

将分發伺服器和釋出伺服器配置為同一台伺服器。

1.複制-本地釋出-配置

SQL Server 複制訂閱

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

SQL Server 複制訂閱

3.CLU11是釋出伺服器,這裡選擇将CLU11同時配置為分發伺服器,會在CLU11上面建立分發資料庫

SQL Server 複制訂閱

4.選擇快照路徑,預設路徑即可

SQL Server 複制訂閱

注意:如果要建立請求訂閱,那麼這裡需要配置共享檔案夾

5.分發資料庫名稱和分發資料庫資料檔案、日志檔案路徑

SQL Server 複制訂閱

6.預設下一步

SQL Server 複制訂閱

7.預設完成

SQL Server 複制訂閱

8.完成分發伺服器配置

SQL Server 複制訂閱

1.複制-本地釋出-建立釋出 

SQL Server 複制訂閱

2.選擇需要釋出的資料庫

SQL Server 複制訂閱

3.選擇釋出類型-事務釋出

釋出類型總共有四種,這裡配置最常用的事務釋出類型

SQL Server 複制訂閱

4.選擇需要配置釋出的表

建立釋出的表一定要存在主鍵列

SQL Server 複制訂閱

5.檢視釋出的項目屬性,預設配置即可

SQL Server 複制訂閱

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

在屬性中我們可以看到會複制聚集索引、排序規則、DML操作、DLL操作等應用到訂閱伺服器,

因為一般釋出伺服器和訂閱伺服器的業務應用是不一樣的,是以預設隻會複制這些主要的對象,不會複制非聚集索引外鍵等,因為在訂閱伺服器可能需要建的它需要的業務場景的索引。

SQL Server 複制訂閱

7.不配置篩選,預設下一步

SQL Server 複制訂閱

8.勾選立即建立快照并保持可用狀态

SQL Server 複制訂閱

9.配置代理安全性賬戶

SQL Server 複制訂閱

10.用于連接配接到釋出伺服器的rep賬戶必須擁有AdventureWorks2008R2資料庫的所有者權限,伺服器級别的權限public即可

SQL Server 複制訂閱

11.建立釋出-下一步

SQL Server 複制訂閱

12.輸入釋出項目名稱

SQL Server 複制訂閱

13.完成釋出資料庫配置

SQL Server 複制訂閱

1.在訂閱伺服器中-複制-本地訂閱-建立訂閱 

SQL Server 複制訂閱

2.選擇釋出伺服器-查找SQL Server釋出伺服器

SQL Server 複制訂閱

3.連接配接CLU11釋出伺服器

SQL Server 複制訂閱

4.由于CLU11伺服器中隻配置了一個釋出,是以預設顯示出剛才配置的釋出

SQL Server 複制訂閱

5.配置分發代理位置-選擇在分發伺服器上運作所有代理

SQL Server 複制訂閱

6.下一步

SQL Server 複制訂閱

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

SQL Server 複制訂閱

9.連接配接到訂閱伺服器的賬戶同樣需要訂閱資料庫的所有者權限,伺服器級别也是Public即可

SQL Server 複制訂閱

10.代理計劃-連續運作

SQL Server 複制訂閱

11.初始化時間-立即

SQL Server 複制訂閱

12.建立訂閱

SQL Server 複制訂閱

13.完成訂閱建立

SQL Server 複制訂閱

14.完成

SQL Server 複制訂閱

1.在釋出伺服器CLU11的路徑下可以找到新生成的快照檔案路徑

SQL Server 複制訂閱

2.在CLU11釋出伺服器的系統資料庫中建立了“distribution”分發資料庫

SQL Server 複制訂閱

3.在訂閱伺服器,訂閱資料庫“AdventureWorks2008R2”中生成了釋出的兩張表,

注意:訂閱資料庫與釋出資料庫不需要一樣,這裡不要被誤解

SQL Server 複制訂閱

4.在釋出伺服器的複制下建立了一個釋出項目

SQL Server 複制訂閱

5.檢視複制螢幕,在這裡可以配置和檢視釋出訂閱和監控分發情況,可以配置警告

SQL Server 複制訂閱

6.釋出屬性-這裡可以配置和修改釋出

SQL Server 複制訂閱

7.訂閱屬性-這裡可以修改訂閱安全登入賬号

SQL Server 複制訂閱

8.在釋出伺服器的代理中生成了三個作業,分别是和分發有關的快照日志讀取作業,和釋出有關的釋出作業,和訂閱有關的分發作業。

SQL Server 複制訂閱

1. 在複制螢幕-我的釋出伺服器-CLU11-右鍵釋出項目-屬性,去掉”僅顯示清單中已選中的項目勾選“

勾選”AWBuildVersion“表,确定儲存

SQL Server 複制訂閱

2.複制螢幕-我的釋出伺服器-CLU11-右鍵釋出項目-生成快照

SQL Server 複制訂閱

3.在訂閱資料庫檢視生成的訂閱表

SQL Server 複制訂閱

4.在釋出伺服器的快照檔案夾下面可以看到生成了一個新的快照檔案夾

SQL Server 複制訂閱

5.檢視訂閱屬性,可以看到分發曆史記錄

SQL Server 複制訂閱

 由于将分發伺服器和釋出伺服器配置在同一台伺服器,對釋出伺服器會有一定的壓力,在平時的操作過程中如果需要對釋出的表進行删除字段的操作之前首先要檢視訂閱表中是否建立了該字段的索引,如果建立了需要把字段從索引中去掉,否則會造成釋出訂閱報錯。

SQL Server 高可用方案大全:

本文轉自pursuer.chen(陳敏華)部落格園部落格,原文連結:http://www.cnblogs.com/chenmh/p/4487766.html,如需轉載請自行聯系原作者