Поделиться через


Повторная инициализация подписки (SQL Server Compact)

Используя объект Replication, приложение может повторно инициализировать существующую подписку MicrosoftSQL Server, чтобы загрузить с издателя новый моментальный снимок данных. Это особенно полезно при использовании подписок Microsoft SQL Server Compact 3.5, содержащих данные, доступные только для чтения, периодически обновляемые на издателе.

Вызов метода ReinitializeSubscription

Для повторной инициализации подписки приложение создает объект Replication, устанавливает значения соответствующих свойств объекта Replication и вызывает метод ReInitializeSubscription (репликация).

Примечание

В Microsoft Visual C++ for Devices приложение должно вызвать метод ReinitializeSubscription, а затем последовательно вызвать метод Initialize (репликация), метод Run (репликация) и метод Terminate (репликация) для одного экземпляра объекта Replication. Это необходимо сделать, поскольку при вызове метода ReinitializeSubscription существующая реплика только помечается для удаления. Только после того, как приложение вызовет методы Initialize, Run и Terminate существующая реплика будет удалена, а новая реплика публикации будет загружена с издателя на устройство. При использовании управляемого кода применяется только метод ReinitializeSubscription.

Примеры повторной инициализации подписки приведены ниже в данном разделе.

Несколько подписок и метод ReinitializeSubscription

Поскольку SQL Server Compact 3.5 поддерживает синхронизацию одной базы данных с несколькими публикациями, при повторной инициализации подписки с использованием метода ReinitializeSubscription необходимо учитывать эффекты, возникающие при работе с несколькими подписками.

  • Если база данных содержит только одну подписку, метод ReinitializeSubscription помечает эту подписку для повторной инициализации во время следующей синхронизации.

  • Если база данных содержит несколько подписок, необходимо установить значения свойств Publisher, Publication и PublisherDatabase , чтобы указать подписку для повторной инициализации.

Примечание

Каждый раз, когда автоматически выполняется повторная инициализация, SQL Server рассматривает ее как отдельную синхронизацию, а SQL Server Replication Monitor учитывает, как отдельную синхронизацию. На подписчике SQL Server Compact 3.5 значения свойств PublisherChanges, SubscriberChanges, PublisherConflicts и SubscriberConflicts класса SqlCeReplication суммируются, и итог выполнения синхронизаций возвращается в качестве результата последней синхронизации.

См. также

Другие ресурсы

Как повторно инициализировать подписку (программным путем)

Поддержка нескольких подписок

Создание подписки

Удаление подписки

Методы объекта Replication

Свойства объекта Replication