轉載标明出處:http://blog.csdn.net/u012861467
前方高能,要有點耐心,圖檔較多,注意在wifi環境下看,刷爆流量不賠

這次實驗分别在區域網路和跨網段進行,先區域網路中配置,再跨網段配置,按需檢視。
下面文章的内容将分為兩個部分
目錄
一、通過非指令行方式配置同步訂閱
(1)實驗環境說明
(2)實驗前準備
(3)訂閱設定
(4)測試同步訂閱
二、常見問題彙總
三、總結
正文部分
實驗環境,兩台在同一區域網路(跨網段的在後面再詳細說明)的PC機,這裡PC1是作為分發伺服器,PC2作為訂閱伺服器
PC1
系統:win10
資料庫版本:SQL Server 2016
IP:192.168.0.62
Sqlserver端口:1433
計算機名:DESKTOP-Aaron1
工作組:WORKGROUP
使用者名:SqlServer
PC2
IP:192.168.0.152
計算機名:DESKTOP-Aaron2
檢查幾個設定,這是實驗成功的關鍵,PC1和PC2都要進行相同的配置。
a.開共享
在工作列的計算機圖示右鍵->打開網絡和共享中心->更改進階共享設定
在進階共享裡面開啟共享
b.防火牆開1433 端口
打開控制台,選擇系統與安全
打開防火牆設定中的進階設定
建立一個入站規則
點選建立規則->端口
端口->填寫開放的端口号
填寫開放的端口号->選擇允許連接配接
下面的全部預設就可以
c.配置管理器設定TCP/IP啟用
打開SQL Server 2016 配置管理器,網絡配置->協定->TCP/IP開啟
選中TCP/IP右鍵“屬性”,在屬性中把對應的ip 192.168.0.152的Enabled設定為“是”,端口号為預設的1433
d.Sql Server Browser 服務開啟
如果在SSMS工具中找不到區域網路内的其他資料庫伺服器,可以開啟這個功能
e.兩台機有相同的賬戶(使用者名和密碼要一緻)
在兩台機中我都建立了一個相同的帳戶名和密碼的賬戶
f.資料庫添加windows賬戶通路
打開SSMS添加上面建立的windows賬戶SqlServer
g.資料庫開啟允許遠端連接配接
在SSMS中開啟資料庫允許遠端連接配接
h.測試網絡是否連接配接成功
這是最關鍵的一步,也是下面訂閱同步操作的前提,打開cmd指令視窗(windows+R 輸入cmd回車)。
先使用ping指令測試網絡連接配接是否有問題(PC1和PC2都要ping測試是否互通)
就算能ping通,隻能說明區域網路記憶體在這台機,也不代表能實作同步,還要測試端口是否可用。
使用telnet指令測試端口是否可用 telnet 192.168.0.62 1433
出現這個視窗表示可用
已經在PC1建立了一個新的資料庫Test1,Test1裡面有一張表Table_1, Table_1插入了幾條測試資料,把資料庫Test1備份複制到PC2機器上還原。
配置PC1作為分發伺服器
打開資料庫的 複制->本地釋出,右鍵建立釋出
下面的步驟按照截圖來,這裡的釋出資料庫選擇的是測試用的Test1,我們的實驗就是要把PC1的Test1資料庫同步到PC2的資料庫Test1。
選擇要釋出的表,後期還可以添加新表。
這裡為了友善測試資料,點選了“更改”按鈕,設定同步的頻率為10秒。
下一步。選擇“在以下windows賬戶下運作”,填寫PC1機windows賬戶(這裡要填域\賬戶),連接配接釋出伺服器使用的是sa賬戶。(這裡選擇“在sqlserver代理賬戶下運作”經過測試也是可以的)
配置PC2作為訂閱伺服器
設定訂閱可以在分發伺服器上也可以在訂閱伺服器上,結果是一樣的,這裡我們在分發伺服器上設定
右鍵本地訂閱,建立訂閱
選擇PC1機釋出伺服器的釋出任務
下一步,有兩個選項,這次實驗是在分發伺服器運作推送訂閱,選擇第一項
下一步,點選“添加訂閱伺服器”,伺服器名稱選擇的是PC2機的名稱,使用windows身份驗證,這裡能連接配接上的原因是我們兩台機都有相同的使用者名和密碼,也是上面說明中要配置相同windows賬戶的原因(這裡也可以使用資料庫的賬戶登入)
要訂閱的是PC2機上的Test1資料庫
下一步,設定訂閱屬性
選擇“在以下windows賬戶下運作”,填寫PC1機windows賬戶,因為我們在釋出伺服器上進行分發。
後面的設定預設就行
目前PC1的Test1資料庫表内容為
我們插入幾條資料
檢視PC2機的資料庫Test1的表資料有沒有變化
詳細的内容還可以檢視同步狀态資訊,選中訂閱伺服器右鍵,檢視同步狀态。
點選“監視”
還有代理狀态
輕按兩下右表的狀态條可以檢視同步的各種參數
到這裡同步訂閱功能測試完成。
(1)搜尋不到區域網路内的其它SqlServer資料庫
首先檢查一下網絡是否有問題,是否開啟了網絡發現,具體看上面的實驗前準備。
(2)訂閱的時候提示無法通路檔案之類的問題
這個是通路檔案的權限問題,在windows裡對不能通路的檔案添加相應的權限即可。這裡遇到過的是無法通路快照檔案。
(3)跨網段配置釋出訂閱
由于公司的兩台伺服器不在同一個網段,是以上面的配置是不成功的,差别在哪裡呢?
情景再現:
PC1:釋出伺服器
IP:10.33.1.222
掩碼:255.255.254.0
PC2:訂閱伺服器
IP:10.24.0.100
掩碼:255.255.248.0
首先判斷兩台機器是否連通的,不然什麼都是白搭。使用ping指令互相ping一下,如果沒問題再使用telnet測試端口是否可用telnet 10.248.22.100 1433,确認沒問題之後,發現連接配接沒問題啊,然後直接使用IP作為資料庫登陸名:
結果報了要使用資料庫執行個體名稱登入的錯誤,之前測試過使用名稱也是登入不上的,問題的根源是因為不在同一個網段中,網絡發現開啟了也找不到對應這個名字的機器。那我們自己指定這個名稱對應的IP位址就好啦。good~
在釋出伺服器的C:\Windows\System32\drivers\etc 目錄下找到hosts 檔案,配置訂閱伺服器的ip位址和資料庫執行個體名稱,這樣釋出伺服器就可以找到不在同一個網段的訂閱伺服器執行個體了。
配置到這裡結束了,過程遇到好多問題,網上的教程大多叙述不夠詳細,遇到很多坑,還是要多動手多找找問題出現的原因,一步步把他們解決,最終才能有所收獲。