Поделиться через


sp_changemergefilter (Transact-SQL)

Изменяет некоторые свойства фильтра слияния. Эта хранимая процедура выполняется на издателе в базе данных публикации.

Значок ссылки на раздел Синтаксические обозначения в 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'
    Имя свойства, которое необходимо изменить. Аргумент property имеет тип sysname и не имеет значения по умолчанию.

  • [ @value=] '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 имеет тип bit и значение по умолчанию 0.

    0 означает, что изменения в статье слияния не приводят к недействительности моментального снимка. Если хранимая процедура определяет, что изменение требует создания нового моментального снимка, возникает ошибка и изменения не выполняются.

    1 означает, что изменения в статье слияния могут привести к недействительности моментального снимка, и — если имеются подписки, которые могут потребовать создания нового моментального снимка, — дает разрешение на пометку текущего снимка как устаревшего, после чего формируется новый снимок.

  • [ @force_reinit_subscription = ] force_reinit_subscription
    Подтверждает, что действие, выполняемое данной хранимой процедурой, может потребовать повторной инициализации текущих подписок. Аргумент force_reinit_subscription имеет тип bit и значение по умолчанию 0.

    0 означает, что изменения в статье слияния не приводят к необходимости повторной инициализации подписки. Если хранимая процедура определяет, что изменения потребуют повторной инициализации подписок, возникает ошибка и изменения не выполняются.

    1 означает, что изменения в статье слияния приведут к необходимости повторной инициализации подписок, и дает разрешение произвести повторную инициализацию.

Значения кодов возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

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)

Основные понятия

Изменение свойств публикации и статьи