Я использую провайдеров Microsoft для совместной работы. Оба конца синхронизации будут использовать SQL Express для начала. При подготовке база данных содержит таблицу «_tracking» для каждой «реальной» таблицы в базе данных. Моя база данных довольно большая, и я не хочу передавать все это через MSF при первой синхронизации. Есть ли способ использовать какой-то другой метод для «запуска» синхронизации, когда известно, что обе стороны содержат одни и те же данные? В моем тестировании, когда обе базы данных содержат идентичный контент, похоже, что он загружает всю область, обрабатывает весь пакет «изменений», а затем выгружает всю область обратно на сервер, который затем снова обрабатывает весь набор данных. Есть ли способ обновить таблицы _tracking (надеюсь, только с одной стороны), чтобы система знала, что содержимое базы данных одинаково?
Дополнительная информация ( редактировать ):
Из проверки содержимого таблиц отслеживания после выполнения начальной синхронизации похоже, что поля scope_update_peer_timestamp
и local_create_peer_timestamp
в каждой таблице _tracking необходимо обновить с обеих сторон. Кроме того, update_scope_local_id
, scope_update_peer_key
и last_change_datetime
должны быть установлены на одной из двух сторон.
Поле last_change_datetime
является датой-временем и довольно очевидно.
Кажется, что два поля _timestamp
используют @@DBTS
и, таким образом, являются bigints, которые содержат эквивалент редактируемого столбца метки времени.
Это все еще оставляет кучу неизвестных:
- Отслеживает ли MSF, из какого источника выводится содержимое столбцов меток времени?
- Какой узел (локальный или удаленный) управляет содержимым полей _timestamp?
- Какая логика управляет содержимым полей
update_scope_local_id
и scope_update_peer_key
?
Дополнительная информация об окружающей среде ( edit ):
У меня SQL Express / Std с обеих сторон. Со стороны сервера в конечном итоге будет содержаться информация для нескольких клиентов (с использованием многопользовательского режима), поэтому резервные копии будут бесполезны, поскольку сервер будет содержать информацию для нескольких клиентов.