В нашем случае используется база данных, отвечающая за учетные записи, сеансы, лицензии и т. Д. - ее необходимо опросить при запуске клиента, поэтому высокая надежность имеет решающее значение. Таким образом, мы хотели бы выполнить репликацию между разными серверами в физически отдельных сетях, на случай, если весь центр обработки данных выйдет из строя. Я успешно настроил принудительную подписку на другой сервер в той же сети, так что это обычно работает. Это соединение с серверами вне сети, которое мне нужно, чтобы начать работать.
Репликация не работает напрямую в сетях. Microsoft предлагает либо VPN, либо веб-репликацию . Последнее кажется мне неэффективным (и они говорят: «Примечание. Веб-синхронизация предназначена для синхронизации данных с портативными компьютерами, карманными устройствами и другими клиентами. Веб-синхронизация не предназначена для крупносерийных межсерверных приложений».)
Первый, VPN, будет работать, но я все еще считаю это излишне сложным решением (не говоря уже о дополнительном потенциале проблем безопасности) для непрерывного запуска VPN-соединения. Я бы предпочел просто запустить SSH-туннель. Тем не менее, я не могу найти ни одной статьи, которая объясняет, как это сделать, и не касается MySQL.
У меня настроен SSH-сервер на подписчике, и я использовал PuTTY для установки туннеля от <publisher>:1434
до <subscriber>:1433
. Однако я не могу заставить SQL Server Management Studio подключаться таким образом (я не уверен, что он поддерживает синтаксис порта :
). Я также настроил псевдоним в диспетчере конфигурации SQL Server <publisher>
, с @@servername
из <subscriber>
, указывающим на localhost:1434
. Подключение к этому тоже не работает.
Я использовал опцию принудительной подписки, поэтому я считаю, что издателю необходимо подключиться к подписчику, а не наоборот.
Оба сервера используют экземпляр по умолчанию и запускают SQL Server 2005 SP 2 на Windows Server 2003 SP 2. Сервер SSH на подписчике - freeSSHd 1.2.1.
Возможно ли это вообще? Есть ли другой способ использовать SSH, чтобы представить, что машина существует в той же сети? Или я должен пойти с VPN?