Мне нужно синхронизировать большую локальную базу данных SQL с базой данных сервера и наоборот.Структура двух баз данных абсолютно одинакова.Мы должны получать последние данные с онлайн-сервера один раз в день утром.Локальная БД постоянно обновляется, и каждый час или около того нужно обновлять БД сервера локальными данными.
Я хочу сделать это с помощью приложения WinNet .Net.
Я думал, чтоЯ могу добиться этого в двух частях:
- Создайте резервную копию онлайн-базы данных, затем загрузите ее и восстановите локальную базу данных с этим файлом резервной копии (так как наша онлайн-база данных обновлена).
- затем скажите, что через час я проверю новые записи в локальной базе данных и обновлю / вставлю новые записи в онлайн-базу данных.
Но у меня есть некоторые проблемы в этом подходе:
Когда мы загружаем большой файл резервной копии базы данных, он несколько раз поврежден.
В моей базе данных есть первичные ключи и ссылки на внешние ключи для отношений между родителями и детьми.столы.Поэтому, если я сгенерирую новую строку в онлайновой базе данных, то она сгенерирует новые идентификаторы в онлайн-базе данных.Итак, как я могу поддерживать ссылки?
Я никогда не работал с такого рода сценарием, я не знаю различных способов достижения этого, поэтому, пожалуйста, объясните себя как можно лучше.
Большое спасибо.