Как заставить SQLServer Web Merge Replication использовать порт не по умолчанию?

Я настраиваю веб-синхронизацию для репликации слиянием SQL Server. Мой ящик IIS находится в моей демилитаризованной зоне, а машина SQL Server находится за брандмауэром, поэтому мне нужно указать порт, отличный от порта по умолчанию (не 1433), чтобы добраться до издателя и распространителя. Я пытался настроить его как 192.168.4.5_1234 и аналогично 192.168.4.5:1234, где 192.168.4.5 — IP-адрес моего брандмауэра, а 1234 — номер порта (ну, в любом случае, я привожу примеры).

Тот, что с двоеточием, полностью взрывается, и я почти уверен, что это плохой тон для спецификации порта Windows - я просто хотел показать, что пробовал это. Другой дает это:

replmerg -Publisher [192.168.4.5_1234] -PublisherDB [MyDB] -Publication [MyPub] -Subscriber [ME] -SubscriberDB [MyPub] -SubscriptionType 2 -SubscriberSecurityMode 1 -Distributor [192.168.4.5_1234]

...

Сообщение: процессу не удалось подключиться к распространителю «192.168.4.5_1234». 2017-10-25 21:53:27.892 Категория: SQLSERVER Источник: 192.168.4.5_1234 Номер: 53 Сообщение: Поставщик именованных каналов: не удалось открыть подключение к SQL Server [53]. 2017-10-25 21:53:27.894 Категория:SQLSERVER Источник: 192.168.4.5_1234 Номер: 53 Сообщение. При установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или недоступен. Проверьте правильность имени экземпляра и настроен ли SQL Server для разрешения удаленных подключений. Дополнительные сведения см. в электронной документации по SQL Server. 25.10.2017 21:53:27.895 Категория:SQLSERVER Источник: 192.168.4.5_1234 Номер: 0 Сообщение: Время ожидания входа истекло 25.10.2017 21:53:27.896 Категория:SQLSERVER Источник: 192.168.4.5_1234 Номер: 0 Сообщение : Процесс слияния не смог выполнить запрос, так как истекло время ожидания запроса. Если этот сбой повторяется, увеличьте время ожидания запроса для процесса. При устранении неполадок перезапустите синхронизацию с подробным ведением журнала и укажите выходной файл, в который следует производить запись.

Почему он пытается использовать именованные каналы, мне не понятно, TCP/IP указан выше именованных каналов в моих клиентских протоколах.

Я заметил, что в документации Microsoft даже не сказано, как это сделать... они просто говорят, что "обычно" будет использовать порт по умолчанию. Это вообще возможно? Кто-нибудь когда-нибудь заставлял это работать?

https://technet.microsoft.com/en-us/library/ms151255(v=sql.105).aspx


person longofest    schedule 25.10.2017    source источник


Ответы (1)


Просто используйте ",":

192.168.4.5,1234
person ErikEJ    schedule 26.10.2017