Репликация SQL Server с подписчиком не знает об издателе

У меня есть случай, когда нужно объединить множество экземпляров sql-серверов и централизовать их в одной главной базе данных.

Это должно быть решение, близкое к реальному времени. Посмотрев в Google, я обнаружил, что репликация транзакций может помочь.

Проблема в том, что у меня есть (n) баз данных издателей, и у них даже нет статических IP-адресов. У меня создалось впечатление, что push репликации будет достаточно, чтобы отправить данные в централизованную базу данных, не зная о соединении издателя, но похоже, что я ошибался.

Мой вопрос: как я могу настроить решение для слияния / репликации нескольких баз данных издателей, которые не имеют статических IP-адресов и могут часто отключаться от сети, и все это почти в реальном времени?


person Lamar    schedule 31.10.2016    source источник
comment
Интересная тема, хоть и неправильная ТАК. Попробуйте тот, который предназначен для администраторов баз данных   -  person clifton_h    schedule 31.10.2016
comment
@clifton_h Привет, Клиф, чтобы избежать перекрестной публикации, лучше всего проголосовать, чтобы закрыть вопрос и перейти на dba.   -  person TT.    schedule 31.10.2016
comment
@TT. Верно, но это произойдет независимо от того, написал я это или нет. Моя цель - просвещать, а не отвечать.   -  person clifton_h    schedule 31.10.2016


Ответы (1)


Репликация требовательна к именам серверов. По моему опыту, если вы используете что-нибудь, кроме того, что возвращает select @@SERVERNAME;, что-то сломается. Тем не менее, до тех пор, пока серверы в топологии могут преобразовывать это имя в ваш (динамический) IP-адрес через DNS, я не могу придумать причину, по которой ваша конфигурация не будет работать. Ты пробовал это? Если да, то какие ошибки вы видели?

person Ben Thul    schedule 31.10.2016
comment
Еще не пробовал. Серверы публикации фактически не размещаются в домене. Они находятся в ноутбуке и продолжают перемещаться (географически). - person Lamar; 01.11.2016
comment
Я понимаю. В этом случае вы можете проверить репликацию слиянием. Он разработан для описываемого вами сценария (несколько часто отключаемых клиентов, одно центральное место для синхронизации) - person Ben Thul; 01.11.2016
comment
Можем ли мы выполнить репликацию слиянием без ведома главной базы данных о соединении с базой данных издателя? - person Lamar; 01.11.2016
comment
При репликации слиянием имена ролей меняются местами. То есть ваш центральный сервер будет считаться издателем, а отключенные клиенты - подписчиками. Я бы посоветовал почитать и это, чтобы посмотреть, соответствует ли это вашей ситуации. Я думаю, да. - person Ben Thul; 01.11.2016
comment
Судя по вашему описанию, это не помогает. Данные добавляются к отключенным клиентам, и их необходимо немедленно объединить в централизованную базу данных. Однако мне нужно прочитать о репликации слиянием дальше. - person Lamar; 02.11.2016
comment
Простите за незнание, но если клиент отключен, как он будет загружаться мгновенно? Классический вариант использования репликации слиянием - это множество хранилищ, которые загружают данные в центральный офис один раз в день. - person Ben Thul; 02.11.2016
comment
Извините, если я вас запутал. Они будут подключены как можно дольше, но время от времени могут быть отключения, и мне нужно синхронизировать данные, как только они снова подключатся. - person Lamar; 03.11.2016