Как настроить сетевой адаптер, используемый репликацией SQL Server?

У меня есть 2 сервера с SQL Server 2005, между которыми настроена репликация слиянием.

Каждый сервер подключен к сети здания, но у них также есть перекрестный кабель, соединяющий их, создавая частную сеть.

Как настроить репликацию слиянием, чтобы она использовала частную сеть, а не сеть здания?

Частная сеть не является частью какого-либо домена, но сеть здания может иметь или не иметь домен в зависимости от клиента.

Я попытался настроить репликацию с использованием IP-адресов частной сети, но некоторые хранимые процедуры работают только с именем сервера Windows. Я предполагаю, что имя сервера может разрешаться в любой сети, и я хочу предотвратить отправку трафика репликации в сеть здания.


person Eric Lathrop    schedule 10.03.2009    source источник


Ответы (3)


Не знаю, сработает ли это, но попробовать стоит.

  • Убедитесь, что перекрестный кабель настроен как частная подсеть между машинами. IP-адреса, связанные с каждой конечной точкой, должны иметь общий префикс, отличный от префикса сети здания. Например, установите для одной конечной точки значение 192.168.24.1, для другой — 192.168.24.2, а для маски подсети на обоих — 255.255.255.0.

  • Добавьте эти IP-адреса в файл hosts \WINDOWS\system32\drivers\etc\hosts. Убедитесь, что вы используете имена серверов, отличные от существующих. Я использовал server1 и server2 ниже.

    192.168.24.1 сервер1

    192.168.24.2 сервер2

Протестируйте с помощью

   ping server1
   ping server2

чтобы убедиться, что они могут говорить друг с другом.

Используйте имена server1 и server2 для настройки репликации.

person Carlos A. Ibarra    schedule 10.03.2009
comment
К сожалению, это не сработало. Я получаю следующую ошибку на подписчике: Удаленный сервер ReplicationPrimary не существует или не был назначен допустимым издателем, или у вас может не быть разрешения на просмотр доступных издателей. - person Eric Lathrop; 10.03.2009
comment
У меня также была ошибка при настройке издателя с sp_adddistributor: не удалось подключиться к серверу «TEST-SERVER», потому что «distributor_admin» не определен как удаленный вход на сервер. Убедитесь, что вы указали правильное имя для входа. - person Eric Lathrop; 10.03.2009
comment
Другой альтернативой может быть установка статического маршрута с помощью ROUTE -p ADD 10.2.3.4 MASK 255.255.255.255 192.168.24.1 METRIC 0. Здесь 10.2.3.4 — это IP-адрес другого компьютера в сети здания. Сделайте то же самое (назад) на другом узле. Используйте обычные имена для репликации. - person Carlos A. Ibarra; 10.03.2009
comment
Собственно, у меня так и получилось. При первой настройке я поместил новые имена серверов в файл hosts и использовал их для настройки репликации. Вам нужно добавить те же имена компьютеров Windows в файл hosts, чтобы он работал. Большое спасибо! - person Eric Lathrop; 10.03.2009

Вот предположение. Возможно, SQL не прослушивает этот IP.

Перейдите в Диспетчер конфигурации SQL Server> Конфигурация сети SQL2005> Свойства TCP/IP> Добавить IP (x) для вашей локальной сети.

SQL также сообщит, какие IP/порты он прослушивает в журнале при запуске.

person Sam    schedule 10.03.2009

ответ thinkcube был правильным за исключением детали, которой я хочу поделиться здесь на случай, если люди не читают комментарии:

Убедитесь, что вы используете имена серверов, отличные от существующих.

Мне нужно было использовать то же имя сервера в файле hosts. Это связано с тем, что издателю требовалось имя сервера Windows, а подписчику было достаточно чего-то другого.

Поскольку Windows сначала просматривает файл hosts, IP-адрес (в частной сети) будет используется, но издатель все равно увидит правильное имя.

person Eric Lathrop    schedule 10.03.2009