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

Репликация SQL 2008 через Интернет

Мы решили разместить наши серверы в центрах обработки данных на восточном и западном побережье США, чтобы обеспечить высокий уровень резервирования. После оценки количества вариантов репликации, кроме VPN, нет другого способа репликации для SQL Server. Мы изучаем VPN, но у меня есть следующие вопросы.

Наша большая база данных состоит из мультимедийной информации (изображения / фильмы / аудио / pdf) и т. Д., Поэтому мы не очень заботимся о безопасности, потому что они не являются финансово конфиденциальными данными.

  1. SQL 2005 поддерживает или может быть настроен для поддержки репликации через Интернет? Если да, то должны ли мы перейти на 2005 год?

  2. Если SQL 2008 Publisher настроен для Web Sync, можем ли мы написать автоматическую программу (C # Windows Service), которая будет действовать как опрашивающий подписчик и запускаться на сервере подписчика и реплицировать базу данных подписчика?

Или есть какой-нибудь API, доступный в SQL, где мы можем написать нашу собственную программу для репликации в очень общем виде? (Короче, можем ли мы написать нашу собственную программу для подписчиков на C # Windows Service?)

Да, вы можете написать свою собственную репликацию, но в этом нет необходимости. Вы можете использовать репликацию SQL Server между двумя центрами обработки данных без VPN между ними (всегда предпочтительнее VPN).

Перед настройкой репликации я настоятельно рекомендую вам взглянуть на зеркалирование базы данных SQL Server между двумя сайтами. Зеркальное отображение базы данных предоставит вам точную копию базы данных на другом сайте.

В любом случае вам просто нужно открыть правильные порты TCP в брандмауэрах на обоих сайтах (и настроить NAT на обоих сайтах между общедоступным IP и частным IP, если серверы SQL имеют частные IP-адреса). Затем просто скажите репликации или зеркальному отображению базы данных использовать общедоступный IP-адрес удаленного SQL Server в качестве партнера по репликации или зеркалированию.

Как я сказал выше, вам нужно настроить VPN между сайтами, чтобы вы могли направлять весь свой трафик репликации Active Directory через эту VPN, а также весь административный трафик, когда вы управляете удаленными машинами.

Как сказал mrdenny, это не должно быть большой проблемой, если у вас есть правильные публичные порты. Предполагая, что у вас больше инфраструктуры, чем пара модулей MSSQL, разве вам все равно не понадобится VPN?

Репликация слиянием SQL Server поддерживает веб-синхронизацию. Веб-синхронизация использует веб-службы через SSL для поддержки безопасной репликации через Интернет.

«Интернет-соединение использует Secure Sockets Layer (SSL), поэтому виртуальная частная сеть (VPN) не требуется»

Посмотри пожалуйста: http://msdn.microsoft.com/en-us/library/ms151763.aspx

Эта форма репликации немного медленнее, чем если бы у вас было прямое TCP-соединение, но это компромисс, который вы делаете для репликации через SSL. Это решение хорошо сработало для нас, и я надеюсь, что оно будет работать и для вас, поэтому вам не нужно писать настраиваемую службу синхронизации.

Наконец-то я написал собственную программу репликации на основе триггера, которая пока помогает !! Но так жаль, что даже после покупки стандартной лицензии Sql, простая репликация тоже должна быть написана вручную !!! MySQL предлагает легкую репликацию через Интернет, но mysql использует innodb «секретный формат файла», не только это, у него нет хорошей функции автоматического увеличения, которая приводит к слишком большому количеству фрагментов для больших таблиц.