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.