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


sp_changesubscription (Transact-SQL)

Область применения: SQL Server Управляемый экземпляр SQL Azure

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

Внимание

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

Соглашения о синтаксисе Transact-SQL

Синтаксис

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

Аргументы

[ @publication = ] N'publication'

Имя публикации для изменения. @publication — sysname без значения по умолчанию.

[ @article = ] N'article'

Имя статьи для изменения. @article — sysname без значения по умолчанию.

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

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

[ @destination_db = ] N'destination_db'

Имя базы данных подписки. @destination_db — sysname без значения по умолчанию.

[ @property = ] N'property'

Свойство, которое нужно изменить для данной подписки. @property является nvarchar(30) и может быть одним из значений в таблице.

[ @value = ] N'value'

Новое значение для указанного свойства. @value является nvarchar(4000) и может быть одним из значений в таблице.

Свойство Значение Описание
distrib_job_login Имя входа учетной записи Windows, от имени которой выполняется агент.
distrib_job_password Пароль учетной записи Windows, от имени которой выполняется агент.
subscriber_catalog 1 Каталог, используемый при соединении с поставщиком OLE DB.
subscriber_datasource 1 Имя источника данных, понятное поставщику OLE DB.
subscriber_location 1 Местоположение базы данных, понятное поставщику OLE DB.
subscriber_login Имя входа на подписчик.
subscriber_password Надежный пароль для указанного имени входа.
subscriber_security_mode 1 При подключении к подписчику используется проверка подлинности Windows.
0 При подключении к подписчику используйте проверку подлинности SQL Server.
subscriber_provider 1 Уникальный программный идентификатор (PROGID), с которым регистрируется поставщик OLE DB для источника данных, отличного от SQL Server.
subscriber_providerstring 1 Идентифицирующая источник данных строка соединения, зависящая от поставщика OLE DB.
subscriptionstreams Количество подключений, разрешенных для каждого агент распространения применять пакеты изменений параллельно подписчику. Диапазон значений от 1 до 64 поддерживается для издателей SQL Server. Это свойство должно быть 0 для подписчиков, отличных от SQL Server, издателей Oracle или одноранговых подписок.
subscriber_type 1 Сервер источника данных ODBC
3 Поставщик OLE DB
memory_optimized bit Указывает, что подписка поддерживает оптимизированные для памяти таблицы. memory_optimized имеет бит, где 1 ( true подписка поддерживает оптимизированные для памяти таблицы).

1 Это свойство допустимо только для подписчиков, отличных от SQL Server.

[ @publisher = ] N'publisher'

Указывает издатель, отличный от SQL Server. @publisher — sysname с значением по умолчаниюNULL.

@publisher не следует указывать для издателя SQL Server.

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

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

Замечания

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

sp_changesubscription можно использовать только для изменения свойств push-подписок или подписок на вытягивание, участвующих в репликации транзакций в очереди. Чтобы изменить свойства всех других типов подписок на вытягивание, используйте sp_change_subscription_properties.

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

Разрешения

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