sp_changemergefilter (Transact-SQL)
Область применения: SQL Server (все поддерживаемые версии)
Изменяет некоторые свойства фильтра слияния. Эта хранимая процедура выполняется на издателе в базе данных публикации.
Синтаксические обозначения в Transact-SQL
Синтаксис
sp_changemergefilter [ @publication= ] 'publication'
, [ @article= ] 'article'
, [ @filtername= ] 'filtername'
, [ @property= ] 'property'
, [ @value= ] 'value'
[ , [ @force_invalidate_snapshot = ] force_invalidate_snapshot ]
[ , [ @force_reinit_subscription = ] force_reinit_subscription ]
Аргументы
[ @publication = ] 'publication'
Имя публикации. publication — sysname без значения по умолчанию.
[ @article = ] 'article'
Имя статьи. Article — sysname без значения по умолчанию.
[ @filtername = ] 'filtername'
Текущее имя фильтра. filtername — sysname без значения по умолчанию.
[ @property = ] 'property'
Имя изменяемого свойства. свойствоsysname без значения по умолчанию.
[ @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 (сбой)
Remarks
sp_changemergefilter используется в репликации слиянием.
Изменения фильтра для статьи слияния требует создания моментального снимка; если таковой уже существует, необходимо его повторное создание. Для этого необходимо задать для @force_invalidate_snapshot значение 1. Кроме того, если на статью имеются подписки, то необходима их повторная инициализация. Для этого необходимо задать для @force_reinit_subscriptionзначение 1.
Для использования логических записей публикация и статьи должны удовлетворять определенным требованиям. Дополнительные сведения см. в статье Группирование изменений в связанных строках с помощью логических записей.
Разрешения
Только члены предопределенной роли сервера sysadmin или db_owner предопределенной роли базы данных могут выполнять sp_changemergefilter.
См. также
Изменение свойств публикации и статьи
sp_addmergefilter (Transact-SQL)
sp_dropmergefilter (Transact-SQL)
Хранимая процедура sp_helpmergefilter (Transact-SQL)
Системные хранимые процедуры (Transact-SQL)