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