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


sp_changemergesubscription (Transact-SQL)

Область применения: SQL Server

Изменяет выбранные свойства принудительной подписки слиянием. Эта хранимая процедура выполняется на издателе в базе данных публикации.

Внимание

При настройке издателя с удаленным распространителем значения, предоставленные для всех параметров, включая @job_login и @job_password, отправляются распространителю в виде обычного текста. Прежде чем выполнять эту хранимую процедуру, необходимо зашифровать соединение между издателем и его удаленным распространителем. Дополнительные сведения см. в разделе "Настройка SQL Server ядро СУБД для шифрования подключений".

Синтаксис

sp_changemergesubscription
    [ [ @publication = ] N'publication' ]
    [ , [ @subscriber = ] N'subscriber' ]
    [ , [ @subscriber_db = ] N'subscriber_db' ]
    [ , [ @property = ] N'property' ]
    [ , [ @value = ] N'value' ]
    [ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]

Аргументы

[ @publication = ] N'publication'

Имя публикации для изменения. @publication — sysname с значением по умолчаниюNULL. Публикация уже должна существовать и соответствовать правилам для идентификаторов.

[ @subscriber = ] N'подписчик'

Имя подписчика. @subscriber — sysname с значением по умолчаниюNULL.

[ @subscriber_db = ] N'subscriber_db'

Имя базы данных подписки. @subscriber_db является sysname и может быть одним из значений в следующей таблице.

[ @property = ] N'property'

Свойство, изменяемое для данной публикации. @property является sysname и может быть одним из значений в следующей таблице.

[ @value = ] N'value'

Новое значение для указанного @property. @value — nvarchar(255) с значением по умолчаниюNULL.

Свойство Значение Описание
description Описание этой подписки слиянием.
priority Приоритет подписки. При обнаружении конфликтов применяемый по умолчанию сопоставитель выбирает победителя исходя из приоритетов.
merge_job_login Имя входа учетной записи Windows, от имени которой выполняется агент.
merge_job_password Пароль учетной записи Windows, от имени которой выполняется агент.
publisher_security_mode 1 При подключении к подписчику используется проверка подлинности Windows.
0 При подключении к издателю используйте проверку подлинности SQL Server.
publisher_login Имя входа на издатель.
publisher_password Надежный пароль для указанного имени входа на издатель.
subscriber_security_mode 1 При подключении к подписчику используется проверка подлинности Windows.
0 При подключении к подписчику используйте проверку подлинности SQL Server.
subscriber_login Имя входа на подписчик.
subscriber_password Надежный пароль для указанного имени входа на подписчик.
sync_type automatic Схема и начальные данные для опубликованных таблиц вначале передаются подписчику.
none Подписчик уже имеет схему и начальные данные для опубликованных таблиц; системные таблицы и данные передаются всегда.
use_interactive_resolver true Возможно разрешение конфликтов в интерактивном режиме для всех статей, которые позволяют разрешение конфликтов в интерактивном режиме.
false Конфликты разрешаются в автоматическом режиме с помощью применяемого по умолчанию или пользовательского сопоставителя.
NULL (по умолчанию) NULL (по умолчанию)

[ @force_reinit_subscription = ] force_reinit_subscription

Подтверждает, что действие, выполняемое данной хранимой процедурой, может сделать необходимой повторную инициализацию существующих подписок. @force_reinit_subscription бит с значением по умолчанию0.

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

  • 1 указывает, что изменения в статье слияния повторно инициализируют существующие подписки и предоставляют разрешение на повторную инициализацию подписки.

Значения кода возврата

0 (успешно) или 1 (сбой).

Замечания

sp_changemergesubscription используется в репликации слиянием.

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

Разрешения

Могут выполняться только члены предопределенных ролей сервера sysadmin или db_owner предопределенных ролей базы данных.sp_changemergesubscription