|
|
|||||||||||||||||||||||||||||
|
Настройка репликации MS SQL Server через сеть ИнтернетИсточник: dbasimple dbasimple
Иногда необходимо доставить данные с одного сервера MS SQL Server к другому серверу через сеть Интернет использую репликацию, такой случай у меня был, и ниже я описал как это было реализорвано.
Настройка репликации MS SQL Server через Интернет мало чем отличается от настройки репликации в локальной сети, за исключением настройки сетевого оборудования.
Примерная схема, того, что у нас должно получиться примерно такова:
Объект 1 Сервер 1 и Объект 4 Сервер 2 - это сервера с MS SQL Server в разных сетях.
На Сервере 4 находится основная база, на которую настроена репликация транзакций.
Я еще дополнительно использую ftp для получения резервной копии и её восстановления на Сервер 1 для настройки репликации. Сервер ftp так же запущен на сервере 2. В MS SQL Server есть возможность использовать ftp для доставки моментальных снимков при репликации, но у меня была проблема с настройкой сетевого оборудования с настройкой NAT-PT, FTP ALG, иначе не будет происходить доступ подписчика к ftp серверу. Я решил по-простому - использовать резервные копии.
Объект 2,3 -это коммутаторы имеющие выход в Интернет с внешним IP, на которых будут настроены сетевые правила . Сначала настраивается сетевое оборудование, на коммутаторе 2 необходимо открыть порты TCP 20,21 для ftpи 1433 для самого MS SQL Server (при использование именованного инстанса дополнительно открыть UDP1434 ) для пакетов от Source Сервер1 к Destination внешний IP коммутатора 3.
На коммутаторе 3 настраиваем NAT проброску TCP пакетов MS SQL Server от источника IP коммутатора 2
После настройки сетевого оборудования проверяем доступность портов командой telnet:
telnet 85.30.240.26 1433
где сначало указывается IP нашего сервера 2, а затем порт, через который подключаемся, в нашем случае это ms sql порты.
Если все хорошо, переходим к следующему шагу настройки репликации, если не происходит подключение через telnet, то проверяем сетевые настройки .
Следующий шаг связан с тем, что репликация MS SQL Server возможна только между серверами с использованием имени сервера, а не по IP.
Т.к наши сервера знают о друг друге только по IP, чтобы они знали и имена, то пропишем их на подписчике Сервер1 имя сервера 2, для этого открываем файл hosts (C:\Windows\System32\drivers\etc) и делаем привязку имени к IP добавив строку:
85.30.240.26 имя_сервера2
Где 85.30.240.26 это внешний IP коммутатора 3, но для ms sql на сервере1 это будет сервер 2, а там наш коммутатор должен пробросить пакет до реального сервера 2.
После этого можно проверить подключение к MS SQL Server с сервера 1 на сервер 2 через MS SQL Management Studio как по имени , так и по IP.
Еще одно важное замечание, т.к. сервера в разных подсетях и не знают о друг друге ничего, то необходимо использовать sql аутефикацию.
После этого можно настроить саму репликацию MS SQL Server (Инструкция есть у меня в блоге):
1)Создать распространителя на сервер 2
После запуска агентов репликации , репликация должна работать!
Ссылки по теме
|
|