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используется в слиянии реплика tion.

Изменения фильтра для статьи слияния требует создания моментального снимка; если таковой уже существует, необходимо его повторное создание. Это выполняется путем задания значения @force_invalidate_snapshot1. Если в этой статье есть подписки, необходимо повторно инициализировать подписки, которые выполняются путем установки значения @force_reinit_subscription1.

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

Разрешения

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