Могу ли я выполнить репликацию слиянием в SQL Server 2005 через туннель SSH?

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

Репликация не работает напрямую между сетями. Microsoft предлагает репликацию через VPN или через Интернет. Последнее кажется мне неэффективным (и они говорят: «Примечание. Веб-синхронизация предназначена для синхронизации данных с портативными компьютерами, портативными устройствами и другими клиентами. Веб-синхронизация не предназначена для приложений большого объема сервер-сервер»).

Первый, VPN, будет работать, но я по-прежнему считаю излишне сложным решением (не говоря уже о дополнительном потенциале проблем с безопасностью) постоянно запускать VPN-соединение. Я бы предпочел просто запустить SSH-туннель. Тем не менее, я не могу найти ни одной статьи, объясняющей, как это сделать, и не о MySQL.

У меня есть сервер SSH, настроенный на подписчике, и я использовал PuTTY для создания туннеля от <publisher>:1434 к <subscriber>:1433. Однако я не могу заставить SQL Server Management Studio подключаться таким образом (я не уверен, что он поддерживает синтаксис порта :). Я также установил псевдоним для <publisher> диспетчера конфигурации SQL Server с @@servername из <subscriber>, указывающим на localhost:1434. Подключение к этому тоже не работает.

Я использовал опцию принудительной подписки, поэтому я считаю, что издателю необходимо подключиться к подписчику, а не наоборот.

Оба сервера используют экземпляр по умолчанию и работают под управлением SQL Server 2005 SP 2 на Windows Server 2003 SP 2. SSH-сервер на подписчике - freeSSHd 1.2.1.

Это вообще возможно? Есть ли другой способ использовать SSH, чтобы притвориться, что машина существует в той же сети? Или мне нужно использовать VPN?


person Sören Kuklau    schedule 25.10.2008    source источник
comment
В своем ответе я добавил несколько слов об этой проблеме с доменом   -  person Philippe Grondier    schedule 29.10.2008


Ответы (3)


Когда вы говорите о разных местах расположения серверов, означает ли это также разные домены? Ваш комментарий о веб-репликации верен, но относится только к ежедневным изменениям, вносимым в базу данных. Ваш исходный снимок может быть любого размера, даже если это огромная база данных. Если ваши ежедневные обновления ограничены (мне кажется, несколько тысяч), дерзайте. Это быстро!

РЕДАКТИРОВАТЬ:

Когда вы начинаете думать об обмене данными между серверами, возникает серьезная проблема домена / безопасности. Если вам нужно подключить серверы, принадлежащие к разным доменам, через VPN или любую выделенную ссылку, и если вы не хотите проходить через SQL Security (избегайте этого!), Вы столкнетесь с определенными (и лицензионными!) Проблемами, связанными с доверием домена. . Одна из умных сторон веб-репликации - избежать такого рода проблем (и дополнительных затрат) за счет защиты соединения по протоколу https.

person Philippe Grondier    schedule 28.10.2008
comment
Домен такой же (хотя я не понимаю, какая разница), но сети полностью разделены. Я посмотрю на веб-репликацию и посмотрю, достаточно ли этого, спасибо! - person Sören Kuklau; 29.10.2008

Я знаю, что это старый пост, но, надеюсь, это поможет: SQL Server Management Studio использует запятую для отделения хоста от порта.

Как указать другой номер порта в SQL Management Studio?

person Mr. Thompson    schedule 18.10.2012

Как практик, я НЕ думаю, что SSH-туннель (он позволяет клиенту вызывать себя для вызова сервера) будет работать. Если вы включите туннель ssh, вам, вероятно, потребуется оставить сеанс ssh открытым. SSH не предназначен для длительного открытия соединений в качестве первоочередной задачи, и это приведет к сбою.

Лучше всего использовать настоящую виртуальную частную сеть (а не те прокси-серверы из Интернета, которые взимают с вас 10 долларов в год). Вы можете использовать OpenVPN, если хотите сэкономить. Преимущество VPN в том, что все эти узлы (серверы db) могут притворяться, что находятся в одной локальной сети, и ... это будет работать.

person Edward Aung    schedule 03.09.2019