Как синхронизировать базы данных в различных серверах в SQL Server 2008?

У меня есть 2 базы данных, которые имеют ту же структуру, один на локальной машине и один на сервере компании. Каждое решительное количество времени, данные из локального DB должны синхронизироваться с сервером DB.

У меня есть общее представление о том, как сделать, это - создает сценарий, который так или иначе "объединяет" информацию, которая не находится на сервере DB, затем сделайте этот сценарий выполненным как запланированное задание для сервера. Однако моя проблема заключается в том, что я очень хорошо не испытан с этим.

Studio управления SQL Server обеспечивает простой способ сделать это (некоторый мастер) и генерирует этот вид сценария? Это - что-то, что я должен буду создать с нуля?

Я сделал некоторые основные поиски Google и столкнулся с термином 'Репликация', но я не полностью понимаю это. Я услышал бы некоторый вход от людей, которые на самом деле сделали это или кто хорош с объяснением этого вида материала.

Спасибо.

21
задан marc_s 6 August 2010 в 16:16
поделиться

4 ответа

Репликация звучит как хороший вариант для этого, но будут некоторые накладные расходы (не технические накладные расходы, а знания, необходимые для поддержки).

Другим вариантом SQL Server является SSIS. SSIS предоставляет графические инструменты для разработки того, что вы пытаетесь сделать. Пакет SSIS также может выполнять операторы SQL, если это необходимо. Пакет SSIS может быть запущен и, следовательно, запланирован из задания SQL Server.

При выборе решения следует учитывать сложность правил синхронизации. Например, будет ли сложно разрешить конфликты, такие как дублирование ключа, при объединении данных. SQL-сценарий может быть легко создать, если правила просты. Однако сложные правила разрешения конфликтов может быть сложнее реализовать в сценарии (или репликации).

13
ответ дан 29 November 2019 в 21:23
поделиться

SQL Server Management Studio, к сожалению, не предлагает многого в этом отношении.

Вам следует серьезно взглянуть на некоторые из отличных коммерческих предложений:

  • Red Gate Software SQL Compare и SQL Data Compare - отличные инструменты, настоятельно рекомендую! Вы даже можете сравнить действующую базу данных с резервной копией из другой базы данных и синхронизировать данные - довольно здорово!

  • ApexSQL SQL Diff и SQL Data Diff

Все они стоят денег, но если вы серьезно к этому относитесь и используете их в своей повседневной жизни, за них платят в кратчайшие сроки - стоит каждой копейки.

Единственный «бесплатный» вариант, который у вас есть в SQL Server 2008, - это создать связь между двумя серверами, а затем использовать что-то вроде оператора MERGE (новый в SQL Server 2008) для передачи данных . Это не работает для структурных изменений и ограничивается только наличием активного соединения между двумя серверами.

8
ответ дан 29 November 2019 в 21:23
поделиться

Вы хотите Одноранговая репликация транзакций , которая позволяет обновлять данные в обеих базах данных, но при этом поддерживать их синхронизацию посредством непрерывного слияния изменений. Это лучшее, что вам нужно, но это довольно дорогостоящий вариант (требуется Enterprise Edition на обоих сайтах). Другой вариант - это Двунаправленная репликация транзакций , но поскольку для этого также требуются две лицензии EE, я говорю, что одноранговую сеть проще развернуть за те же деньги.

Более экономичным вариантом является Обновляемые подписки для репликации транзакций , но обновляемые подписки устарели, и вы готовы поставить свои деньги на проигрыш.

Другой вариант - использовать Репликацию слиянием . И, наконец, для случаев, когда «локальная» база данных достаточно мобильна, существует Sync Framework .

Обратите внимание, что все эти параметры требуют некоторой настройки и взаимодействия со стороны серверной БД Компании.

4
ответ дан 29 November 2019 в 21:23
поделиться

Вы обязательно должны прочитать о репликации транзакций. Похоже, это хорошо подходит для описанной вами ситуации. Вот несколько ссылок, с которых можно начать.

5
ответ дан 29 November 2019 в 21:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: