Можно ли выполнить репликацию слиянием SQL Server 2005 через туннель SSH?
-
04-07-2019 - |
Вопрос
В нашем случае используется база данных, отвечающая за учетные записи, сеансы, лицензии и т. д. & # 8212; он должен быть опрошен при запуске клиента, поэтому высокая надежность имеет решающее значение. Таким образом, мы хотели бы выполнить репликацию между разными серверами в физически отдельных сетях, на случай, если весь центр обработки данных выйдет из строя. Я успешно настроил принудительную подписку на другой сервер в той же сети, так что это обычно работает. Мне нужно, чтобы сейчас работало соединение с серверами вне сети.
Репликация не работает напрямую в сетях. Microsoft предлагает использовать VPN или веб-репликацию . Последнее кажется мне неэффективным (и они действительно говорят «!»). Примечание. Веб-синхронизация предназначена для синхронизации данных с портативными компьютерами, карманными устройствами и другими клиентами. Веб-синхронизация не предназначена для массовых межсерверных серверов. приложения Quot. &;)
Первый, VPN, будет работать, но я по-прежнему считаю это излишне сложным решением (не говоря уже о дополнительном потенциале проблем безопасности) для непрерывного запуска VPN-соединения. Я бы предпочел просто запустить SSH-туннель. Тем не менее, я не могу найти ни одной статьи, которая объясняет, как это сделать, и не касается MySQL.
Я настроил SSH-сервер на подписчике и использовал PuTTY, чтобы установить туннель от <publisher>:1434
до <subscriber>:1433
. Однако я не могу заставить SQL Server Management Studio подключаться таким образом (я не уверен, что он поддерживает синтаксис порта :
). Я также настроил псевдоним в <publisher>
диспетчере конфигурации SQL Server с @@servername
из <subscriber>
, указывающим на localhost:1434
. Подключение к этому тоже не работает.
Я использовал опцию принудительной подписки, поэтому я считаю, что издателю необходимо подключиться к подписчику, а не наоборот.
Оба сервера используют экземпляр по умолчанию и запускают SQL Server 2005 с пакетом обновления 2 (SP2) на Windows Server 2003 с пакетом обновления 2 (SP2). SSH-сервером подписчика является freeSSHd 1.2.1.
Возможно ли это вообще? Есть ли другой способ использовать SSH, чтобы представить, что машина существует в той же сети? Или я должен пойти с VPN?
Решение
Когда вы говорите о разных местах для серверов, это также означает разные домены? Ваш комментарий о веб-репликации верен, но относится только к ежедневным изменениям, внесенным в базу данных. Ваш первоначальный снимок может быть любого размера, даже если это огромная база данных. Если ваши ежедневные обновления ограничены (мне кажется, несколько тысяч), сделайте это. Это быстро!
РЕДАКТИРОВАТЬ:
Существует серьезная проблема с доменом / безопасностью, когда вы начинаете думать об обмене данными между серверами. Если вам нужно подключить серверы, принадлежащие к разным доменам, через VPN или какую-либо выделенную ссылку, и если вы не хотите проходить через SQL Security (избегайте этого!), Вы столкнетесь с конкретными (и лицензионными!) Проблемами, связанными с доверием доменов. , Одной из умных сторон веб-репликации является предотвращение такого рода проблем (и дополнительных затрат) путем защиты соединения по протоколу https.
Другие советы
Я знаю, что это старый пост, но, надеюсь, это поможет: SQL Server Management Studio использует запятую для отделения хоста от порта. Р>