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


Указание интерактивного устранения конфликтов для статей публикации слиянием

В данном разделе описывается указание интерактивного устранения конфликтов для статей публикации слиянием в 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

Включение интерактивного разрешения конфликтов для статьи

  1. На странице Статьи мастера создания публикаций или в диалоговом окне Свойства публикации — <публикация> выберите таблицу. Дополнительные сведения об использовании этого мастера и о доступе к этому диалоговому окну см. в разделах Создание публикации и Просмотр и изменение свойств публикации.

  2. Щелкните Свойства статьи, затем щелкните Указать свойства выделенной статьи таблицы или Указать свойства всех статей таблиц.

  3. На странице Свойства статьи — <статья> или на странице Свойства статьи — <тип статьи> щелкните вкладку Сопоставитель.

  4. Выберите Позволить подписчикам разрешать конфликты в интерактивном режиме во время синхронизации по требованию.

  5. Нажмите кнопку ОК.

  6. В диалоговом окне Свойства публикации — <публикация> нажмите кнопку ОК, чтобы сохранить результаты и закрыть диалоговое окно.

Указание, что подписка должна использовать интерактивное разрешение конфликтов

  1. В диалоговом окне Свойства подписки — <подписчик>: <SubscriptionDatabase> укажите значение True для параметра Интерактивное разрешение конфликтов. Дополнительные сведения о доступе к этому диалоговому окну см. в разделах Просмотр и изменение свойств принудительной подписки и Просмотр и изменение свойств подписки по запросу.

  2. Нажмите кнопку ОК.

Значок стрелки, используемый со ссылкой «В начало»[Top]

Использование Transact-SQL

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

Создание подписки по запросу на публикации слиянием, использующую интерактивный сопоставитель

  1. На издателе в базе данных публикации выполните хранимую процедуру sp_helpmergearticle, указав параметр @publication. Запомните значение allow_interactive_resolver для каждой статьи в результирующем наборе, для которого будет использоваться интерактивный сопоставитель.

    • Если это значение равно 1, будет использоваться интерактивный сопоставитель.

    • Если значение равно 0, необходимо вначале включить интерактивный сопоставитель для каждой статьи. Для этого выполните хранимую процедуру sp_changemergearticle, указав параметры @publication, @article, значение allow_interactive_resolver в параметре @property и значение true в параметре @value.

  2. В базе данных подписки на издателе выполните процедуру sp_addmergepushsubscription_agent. Дополнительные сведения см. в разделе Создание подписки по запросу.

  3. На подписчике в базе данных подписки выполните хранимую процедуру sp_addmergepullsubscription_agent, указав следующие параметры.

    • @publisher, @publisher_db (публикуемая база данных) и @publication.

    • Значение true в параметре @enabled_for_syncmgr.

    • Значение true в параметре @use_interactive_resolver.

    • Сведения учетной записи безопасности, необходимой для агента слияния. Дополнительные сведения см. в разделе Создание подписки по запросу.

  4. В базе данных публикации на издателе выполните процедуру sp_addmergepushsubscription_agent.

Определение статьи, поддерживающей интерактивный сопоставитель

  • В базе данных публикации на издателе выполните процедуру sp_addmergearticle. Укажите имя публикации, которой принадлежит статья, в параметре @publication, имя статьи в параметре @article, публикуемый объект базы данных в параметре @source_object и значение true в параметре @allow_interactive_resolver. Дополнительные сведения см. в разделе Определение статьи.

Значок стрелки, используемый со ссылкой «В начало»[Top]

См. также

Задания

просмотреть и разрешить конфликты данных для публикации слиянием (среда SQL Server Management Studio)

Основные понятия

Интерактивное разрешение конфликтов