Репликация данных из одной БД в другую

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

В идеале любое обновление другой базы данных должно быть немедленно отправлено в мою.

Еще одна вещь, о которой я подумал, хорошо, скажем, в основной базе данных есть 100 таблиц. Я мог бы построить процесс для перемещения данных из 100 таблиц в мою, т.е. иметь те же 100 таблиц в моей базе данных.

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

Любая помощь будет принята с благодарностью

РЕДАКТИРОВАТЬ: Использование SQL Server 2008


person StevieB    schedule 29.09.2010    source источник
comment
Какова цель? Тестирование, отчеты, удаленный доступ?   -  person JeffO    schedule 29.09.2010


Ответы (3)


Вы видели службы репликации SQL Server, верно? ;)

Репликация — это набор технологий для копирования и распространения данных и объектов базы данных из одной базы данных в другую с последующей синхронизацией между базами данных для обеспечения согласованности. Используя репликацию, вы можете распространять данные в разные места, а также удаленным или мобильным пользователям по локальным и глобальным сетям, коммутируемым соединениям, беспроводным соединениям и Интернету.

person Tom Morgan    schedule 29.09.2010
comment
Можно ли переместить содержимое из представления базы данных издателя в базу данных подписчика? - person StevieB; 29.09.2010

Какой выпуск 2008 года? Если у вас есть основные выпуски, вы можете использовать репликации. Другие версии требуют, чтобы вы были «подписчиком».

person JeffO    schedule 29.09.2010

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

Обновление связанных серверов с помощью триггеров теоретически опасно. Это зависит от количества имеющихся у вас данных, от того, насколько важен для вас процесс и как быстро вам нужно решение.

person Tom Morgan    schedule 29.09.2010
comment
Эй, да, это хорошая идея, которую я рассмотрю, но моя основная идея сейчас состоит в том, чтобы собрать только подмножество основных данных из базы данных издателя, то есть представление, и переместить это в мою базу данных, которую я пытаюсь выяснить, как достичь - person StevieB; 29.09.2010