Указание интерактивного устранения конфликтов для статей публикации слиянием
В данном разделе описывается указание интерактивного устранения конфликтов для статей публикации слиянием в SQL Server 2012 при помощи среды Среда SQL Server Management Studio или Transact-SQL.
Репликация Microsoft SQL Server использует интерактивный арбитр конфликтов, который позволяет разрешать конфликты вручную при проведении синхронизации по требованию в диспетчере синхронизации Microsoft Windows. После того как интерактивное разрешение конфликтов включено, конфликты разрешаются во время синхронизации в интерактивном режиме с помощью интерактивного сопоставителя. Интерактивный сопоставитель доступен через диспетчер синхронизации Microsoft Windows. Дополнительные сведения см. в разделе Синхронизация подписки с помощью диспетчера синхронизации Windows (Windows Synchronization Manager).
В этом разделе
Перед началом работы выполните следующие действия.
Рекомендации
Для указания интерактивного устранения конфликтов для статей публикации слиянием используется:
Среда SQL Server Management Studio
Transact-SQL
Перед началом
Рекомендации
- Если синхронизация выполнена вне диспетчера синхронизации Windows (по расписанию или по требованию в среде SQL Server Management Studio или мониторе репликации), конфликты разрешаются автоматически без вмешательства пользователя с помощью метода разрешения конфликтов по умолчанию, указанному для статьи. Дополнительные сведения см. в разделе Интерактивное разрешение конфликтов.
[Top]
Использование среды SQL Server Management Studio
Включение интерактивного разрешения конфликтов для статьи
На странице Статьи мастера создания публикаций или в диалоговом окне Свойства публикации — <публикация> выберите таблицу. Дополнительные сведения об использовании этого мастера и о доступе к этому диалоговому окну см. в разделах Создание публикации и Просмотр и изменение свойств публикации.
Щелкните Свойства статьи, затем щелкните Указать свойства выделенной статьи таблицы или Указать свойства всех статей таблиц.
На странице Свойства статьи — <статья> или на странице Свойства статьи — <тип статьи> щелкните вкладку Сопоставитель.
Выберите Позволить подписчикам разрешать конфликты в интерактивном режиме во время синхронизации по требованию.
Нажмите кнопку ОК.
В диалоговом окне Свойства публикации — <публикация> нажмите кнопку ОК, чтобы сохранить результаты и закрыть диалоговое окно.
Указание, что подписка должна использовать интерактивное разрешение конфликтов
В диалоговом окне Свойства подписки — <подписчик>: <SubscriptionDatabase> укажите значение True для параметра Интерактивное разрешение конфликтов. Дополнительные сведения о доступе к этому диалоговому окну см. в разделах Просмотр и изменение свойств принудительной подписки и Просмотр и изменение свойств подписки по запросу.
Нажмите кнопку ОК.
[Top]
Использование Transact-SQL
Можно программно указать, чтобы подписчик использовал этот графический интерфейс для разрешения конфликтов статей, если создается подписка по запросу на публикацию слиянием. В интерактивном сопоставителе отображаются только конфликты статей, поддерживающих этот параметр.
Создание подписки по запросу на публикации слиянием, использующую интерактивный сопоставитель
На издателе в базе данных публикации выполните хранимую процедуру sp_helpmergearticle, указав параметр @publication. Запомните значение allow_interactive_resolver для каждой статьи в результирующем наборе, для которого будет использоваться интерактивный сопоставитель.
Если это значение равно 1, будет использоваться интерактивный сопоставитель.
Если значение равно 0, необходимо вначале включить интерактивный сопоставитель для каждой статьи. Для этого выполните хранимую процедуру sp_changemergearticle, указав параметры @publication, @article, значение allow_interactive_resolver в параметре @property и значение true в параметре @value.
В базе данных подписки на издателе выполните процедуру sp_addmergepushsubscription_agent. Дополнительные сведения см. в разделе Создание подписки по запросу.
На подписчике в базе данных подписки выполните хранимую процедуру sp_addmergepullsubscription_agent, указав следующие параметры.
@publisher, @publisher_db (публикуемая база данных) и @publication.
Значение true в параметре @enabled_for_syncmgr.
Значение true в параметре @use_interactive_resolver.
Сведения учетной записи безопасности, необходимой для агента слияния. Дополнительные сведения см. в разделе Создание подписки по запросу.
В базе данных публикации на издателе выполните процедуру sp_addmergepushsubscription_agent.
Определение статьи, поддерживающей интерактивный сопоставитель
- В базе данных публикации на издателе выполните процедуру sp_addmergearticle. Укажите имя публикации, которой принадлежит статья, в параметре @publication, имя статьи в параметре @article, публикуемый объект базы данных в параметре @source_object и значение true в параметре @allow_interactive_resolver. Дополнительные сведения см. в разделе Определение статьи.
[Top]