程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 跨網段跨機房復制

SQL Server 跨網段跨機房復制

編輯:關於SqlServer

一、 背景

搭建SQL Server復制的時候,如果網絡環境是局域網內,通過主機名就可以實現了,但是如果是跨網段、跨機房異地搭建復制的時候就需要注意了,因為SQL Server復制不支持通過IP連接分發服務器,那有什麼辦法解決跨網段、跨機房的問題呢?

二、 解決方案

在跨網段、跨機房進行SQL Server復制的時候需要區分兩種情況:一種是外網IP的1433端口對應了這台機器SQL Server的數據庫端口;另外一種情況是外網IP對應SQLServer機器的端口不是1433;下面是幾種解決方案:

A. 如果外網IP端口是1433,可以在Windows的host文件中指定IP地址與主機名的對應關系,主機名必須跟真實的主機名一樣?

B. 因為你的外網IP端口不是1433,所以你無法在host文件中跟IP地址一起指定端口;這種情況下,如果條件允許(安全性和端口數),你可以在防火牆中開放外網IP的1433端口對應這個發布服務器的1433端口,並且限制某個IP可以訪問這個端口,程序等訪問發布數據庫就使用另外的21433端口,保證了1433端口的安全;又可以解決端口映射問題,可以畫張圖解釋;

(Figure1:邏輯結構圖)

C. 另外一種方案是在SQL Server配置管理器裡建立一個SQL Server別名,這個別名需要跟主機名一樣,不需要啟用SQL Server Browser服務;

三、 搭建過程

(一) 環境信息

系統環境:Windows Server 2008 + SQL Server 2008

發布服務器:192.168.1.101,1924,192.168.1.101,1433服務器名稱:USER-H2B2A89PEK

分發服務器:與發布服務器同一台機器

訂閱服務器:192.168.1.102,1433,服務器名稱:QuZhoushiwei105

發布數據庫:Task

訂閱數據庫:TaskSubscribe

數據庫帳號:ReplicationUser/ ReplicationPassword

(二) 搭建步驟

上面的發布服務器的外網IP開通了兩個端口,一個是默認的1433,一個是1924,如果是默認的1433,可以通過host文件,而如果只有端口1924的話就只能通過SQL Server別名方式實現,這裡為了做測試就一起開通了這2個端口了。

A. 下面是通過host文件的形式創建訂閱的具體步驟:

1) 在發布服務器上創建發布,具體操作可以參考:SQL Server 復制事務發布,只有搭建成功之後下面的步驟才能進行;

2) 設置訂閱服務器C:\Windows\System32\drivers\etc目錄的host文件,添加分發服務器(我的環境是發布服務器與分發服務器是一起的,所以這裡指定的是發布服務器的地址)信息:192.168.1.101 USER-H2B2A89PEK

3) 設置分發服務器C:\Windows\System32\drivers\etc目錄的host文件,添加訂閱服務器信息:192.168.1.102 QuZhoushiwei105

4) 在訂閱服務器上創建訂閱,具體步驟如下:

(Figure2:連接發布服務器)

(Figure3:成功連接發布服務器)

(Figure4:選擇推送訂閱)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved