Как я могу синхронизировать одну онлайн базу данных sql с другой автономной базой данных? - PullRequest
0 голосов
/ 28 января 2011

Мне нужно синхронизировать большую локальную базу данных SQL с базой данных сервера и наоборот.Структура двух баз данных абсолютно одинакова.Мы должны получать последние данные с онлайн-сервера один раз в день утром.Локальная БД постоянно обновляется, и каждый час или около того нужно обновлять БД сервера локальными данными.

Я хочу сделать это с помощью приложения WinNet .Net.

Я думал, чтоЯ могу добиться этого в двух частях:

  1. Создайте резервную копию онлайн-базы данных, затем загрузите ее и восстановите локальную базу данных с этим файлом резервной копии (так как наша онлайн-база данных обновлена).
  2. затем скажите, что через час я проверю новые записи в локальной базе данных и обновлю / вставлю новые записи в онлайн-базу данных.

Но у меня есть некоторые проблемы в этом подходе:

  1. Когда мы загружаем большой файл резервной копии базы данных, он несколько раз поврежден.

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

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

Большое спасибо.

Ответы [ 4 ]

2 голосов
/ 28 января 2011

Может быть, вы можете попробовать Microsoft Sync Framework .

2 голосов
/ 28 января 2011

звучит так, как будто вам лучше использовать репликацию SQL Server, чем писать это самостоятельно

ссылки на информацию MSDN

0 голосов
/ 12 ноября 2012

Для синхронизации базы данных можно использовать одно из следующих программ:

  1. Sql Compare: http://www.red -gate.com / products / sql-development / sql-сравнить /
  2. Дельта Скул: http://www.sqldelta.com
0 голосов
/ 14 февраля 2011

Я опубликовал статью о синхронизации автономной базы данных. Здесь вы можете найти, как синхронизировать несколько баз данных (одна и та же схема). Там должна быть одна основная база данных, а другие будут обновляться в соответствии с ней. Вы можете попробовать это: http://blog.ankitverma.com/2010/03/onlineoffline-database-synchronization/

...