sp_changemergefilter (Transact-SQL)
Область применения: SQL Server
Изменяет некоторые свойства фильтра слияния. Эта хранимая процедура выполняется на издателе в базе данных публикации.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_changemergefilter
[ @publication = ] N'publication'
, [ @article = ] N'article'
, [ @filtername = ] N'filtername'
, [ @property = ] N'property'
, [ @value = ] N'value'
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
[ ; ]
Аргументы
[ @publication = ] N'publication'
Имя публикации. @publication — sysname без значения по умолчанию.
[ @article = ] N'article'
Имя статьи. @article — sysname без значения по умолчанию.
[ @filtername = ] N'filtername'
Текущее имя фильтра. @filtername — sysname без значения по умолчанию.
[ @property = ] N'property'
Имя свойства, которое необходимо изменить. @property — sysname без значения по умолчанию.
[ @value = ] N'value'
Новое значение заданного свойства. @value — nvarchar(1000), без значения по умолчанию.
В следующей таблице описываются свойства статей и значения этих свойств.
Свойство | Значение | Описание |
---|---|---|
filter_type |
1 |
Фильтр соединения. Этот параметр необходим для поддержки подписчиков SQL Server Compact. |
2 |
Связь логических записей. | |
3 |
Фильтр соединения также является связью логических записей. | |
filtername |
Имя фильтра. | |
join_articlename |
Имя статьи соединения. | |
join_filterclause |
Предложение фильтра. | |
join_unique_key |
true |
Соединение находится в уникальном ключе. |
false |
Соединение не имеет уникального ключа. |
[ @force_invalidate_snapshot = ] force_invalidate_snapshot
Подтверждает, что действие, выполненное этой хранимой процедурой, может сделать недействительным существующий моментальный снимок. @force_invalidate_snapshot бит с значением по умолчанию0
.
0
указывает, что изменения в статье слияния не вызывают недопустимого моментального снимка. Если хранимая процедура определяет, что изменение требует создания нового моментального снимка, возникает ошибка и изменения не выполняются.1
означает, что изменения в статье слиянием могут привести к недопустимому моментальному снимку, и если существуют существующие подписки, для которых требуется новый моментальный снимок, дает разрешение для того, чтобы существующий моментальный снимок был помечен как устаревший и созданный новый моментальный снимок.
[ @force_reinit_subscription = ] force_reinit_subscription
Подтверждает, что действие, выполняемое данной хранимой процедурой, может сделать необходимой повторную инициализацию существующих подписок. @force_reinit_subscription бит с значением по умолчанию0
.
0
указывает, что изменения в статье слияния не приводят к повторной инициализации подписки. Если хранимая процедура определяет, что изменения потребуют повторной инициализации подписок, возникает ошибка, и изменения не выполняются.1
означает, что изменения в статье слияния повторно инициализируют существующие подписки и предоставляют разрешение на повторную инициализацию подписки.
Значения кода возврата
0
(успешно) или 1
(сбой).
Замечания
sp_changemergefilter
используется в репликации слиянием.
Изменения фильтра для статьи слияния требует создания моментального снимка; если таковой уже существует, необходимо его повторное создание. Это выполняется путем задания значения @force_invalidate_snapshot 1
. Если в этой статье есть подписки, необходимо повторно инициализировать подписки, которые выполняются путем установки значения @force_reinit_subscription1
.
Чтобы использовать логические записи, публикация и статьи должны соответствовать нескольким требованиям. Дополнительные сведения см. в статье Группирование изменений в связанных строках с помощью логических записей.
Разрешения
Могут выполняться только члены предопределенных ролей сервера sysadmin или db_owner предопределенных ролей базы данных.sp_changemergefilter