Назад | Перейти на главную страницу

Могу ли я установить соединение SQL Server Link между серверами в разных сетях?

У нас есть производственный SQL-сервер, размещенный за пределами хостинговой компании, и у нас есть промежуточная среда в нашей собственной сети. Мы хотим иметь возможность настроить задание SQL, которое регулярно копирует содержимое из таблицы на промежуточном сервере в prod, и я думаю, что для этого нам нужно настроить подключение к связанному серверу. Что мне нужно сделать, чтобы хостинговая компания разрешила нам это настроить? У нас есть RDP-доступ к производственным серверам, мне просто нужно знать, какие конфигурации сети и безопасности должны произойти с точки зрения хостинговой компании, чтобы я мог попросить их сделать это.

Связанный сервер - не лучший вариант.

  • он открывает SQL Server для удаленного выполнения T-SQL, очень серьезная дыра в безопасности
  • требуется аутентификация на основе пароля SQL из-за различных задействованных доменов
  • он не предлагает никакой избыточности, когда сталкивается с неоднородной связностью
  • TDS как протокол не рассчитан на скорость

Гораздо лучшая альтернатива - использовать Сервисный брокер:

  • SSB работает на выделенном порту, который не позволяет произвольные команды T-SQL, например связанный сервер.
  • SSB поддерживает аутентификацию на основе сертификатов в разных доменах
  • Фрагментация сообщений и честность доставки обеспечивают бесперебойную работу при плохих / медленных соединениях
  • SSB использует протокол с высокой пропускной способностью, разработанный для скорости, например протокол, используемый при зеркальном отображении базы данных.

Если вы настаиваете на связанном сервере, вы должны:

  • включить SQL Server для прослушивания общедоступных адресов в Интернете
  • включите TCP на сервере и откройте порт прослушивания SQL (по умолчанию TCP 1433) на брандмауэре. Если сервер прослушивает порты, отличные от портов по умолчанию, необходимо запустить службу браузера SQL и открыть порт 1434 UDP на брандмауэре, а также разрешить sqlservr.exe открывать произвольные порты на брандмауэре.
  • необходимо включить проверку подлинности SQL, чтобы разрешить использование пароля на основе SQL.
  • Чтобы защитить трафик, убедитесь, что используется SSL, см. Как включить шифрование SSL для экземпляра SQL Server с помощью консоли управления Microsoft и Как включить шифрование канала.
  • Проверьте, перепроверьте и еще раз перепроверьте, имеет ли логин [sa] пуленепробиваемый пароль, который знают только люди, которым вы полностью доверяете. Ваш порт TDS, открытый для Интернета, будет постоянно подвергаться атакам грубой силы на [sa] со стороны миллиона автоматических ботов.