sp_changesubscription (Transact-SQL)

Изменяет свойства моментального снимка или транзакционной принудительной подписки или подписки по запросу, участвующей в репликации транзакций, обновляемой посредством очередей. Для изменения свойств всех других типов подписки по запросу используйте sp_change_subscription_properties (Transact-SQL). Процедура sp_changesubscription выполняется на издателе в базе данных публикации.

Примечание по безопасностиПримечание по безопасности

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

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_changesubscription [ @publication = ] 'publication'
        , [ @article = ] 'article'
        , [ @subscriber = ] 'subscriber'
        , [ @destination_db = ] 'destination_db'
        , [ @property = ] 'property'
        , [ @value = ] 'value'
    [ , [ @publisher = ] 'publisher' ]

Аргументы

  • [ @publication= ] 'publication'
    Имя изменяемой публикации. Аргумент publication имеет тип sysname и не имеет значения по умолчанию.

  • [ @article = ] 'article'
    Имя изменяемой статьи. Аргумент article имеет тип sysname и не имеет значения по умолчанию.

  • [ @subscriber = ] 'subscriber'
    Имя подписчика. Аргумент subscriber имеет тип sysname и не имеет значения по умолчанию.

  • [ @destination_db = ] 'destination_db'
    Имя базы данных подписки. Аргумент destination_db имеет тип sysname и не имеет значения по умолчанию.

  • [ @property=] 'property'
    Изменяемое свойство данной подписки. Аргумент property имеет тип nvarchar(30) и может принимать одно из значений из таблицы.

  • [ @value=] 'value'
    Новое значение свойства, указанного аргументом property. Аргумент value имеет тип nvarchar(4000) и может быть одним из значений в таблице.

    Свойство

    Значение

    Описание

    distrib_job_login

    Имя входа учетной записи Microsoft Windows, под которым запускается агент.

    distrib_job_password

    Пароль учетной записи Windows, от имени которой выполняется агент.

    subscriber_catalog

    Каталог, используемый при установлении соединения с поставщиком OLE DB. Данное свойство допустимо только для подписчиков, не являющихся подписчиками Microsoft SQL Server.

    subscriber_datasource

    Имя источника данных, понятное поставщику OLE DB. Данное свойство допустимо только для подписчиков, не являющихся подписчиками SQL Server.

    subscriber_location

    Местоположение базы данных, понятное поставщику OLE DB. Данное свойство допустимо только для подписчиков, не являющихся подписчиками SQL Server.

    subscriber_login

    Имя входа на подписчике.

    subscriber_password

    Надежный пароль для указанного имени входа.

    subscriber_security_mode

    1

    При подключении к подписчику используется проверка подлинности Windows.

    0

    При подключении к подписчику используется проверка подлинности SQL Server.

    subscriber_provider

    Уникальный программный идентификатор (PROGID), с которым зарегистрирован поставщик OLE DB для источника данных, не относящихся к SQL Server. Данное свойство допустимо только для подписчиков, не являющихся подписчиками SQL Server.

    subscriber_providerstring

    Зависящая от поставщика OLE DB строка соединения, идентифицирующая источник данных. Данное свойство допустимо только для подписчиков, не являющихся подписчиками SQL Server.

    subscriptionstreams

    Количество дозволенных соединений на каждого агента распространителя при применении пакета изменения параллельно с подписчиком. Диапазон значений от 1 до 64 поддерживается для издателей SQL Server. Это свойство должно быть 0 для подписчиков, не являющихся подписчиками SQL Server, для издателей Oracle или одноранговых подписок.

    subscriber_type

    1

    Сервер источника данных ODBC.

    3

    Поставщик OLE DB.

  • [ @publisher = ] 'publisher'
    Задает издатель, отличный от SQL Server. Аргумент publisher имеет тип sysname и значение по умолчанию NULL.

    ПримечаниеПримечание

    Аргумент publisher не должен указываться для издателя SQL Server.

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

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

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

Процедура sp_changesubscription может использоваться только для изменения свойств принудительных подписок или подписок по запросу, используемых в репликации транзакций, обновляемых посредством очередей. Для изменения свойств всех других типов подписок по запросу используйте процедуру sp_change_subscription_properties (Transact-SQL).

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

Разрешения

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