Compartilhar via


sp_changemergefilter (Transact-SQL)

Aplica-se a: SQL Server

Altera algumas propriedades do filtro de mesclagem. Esse procedimento armazenado é executado no Publicador, no banco de dados publicador.

Convenções de sintaxe de Transact-SQL

Sintaxe

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 ]
[ ; ]

Argumentos

@publication [ = ] N'publicação'

O nome da publicação. @publication é sysname, sem padrão.

@article [ = ] N'artigo'

O nome do artigo. @article é sysname, sem padrão.

@filtername [ = ] N'nome do filtro'

O nome atual do filtro. @filtername é sysname, sem padrão.

@property [ = ] N'propriedade'

O nome da propriedade a ser alterada. @property é sysname, sem padrão.

@value [ = ] N'valor'

O novo valor da propriedade especificada. @value é nvarchar(1000), sem padrão.

A tabela a seguir descreve as propriedades dos artigos e os valores dessas propriedades.

Propriedade Valor Descrição
filter_type 1 Filtro de junção.

Essa opção é necessária para dar suporte a Assinantes do SQL Server Compact.
2 Relação de registro lógico.
3 Filtro de junção é também uma relação de registro lógico.
filtername Nome do filtro.
join_articlename Nome do artigo de junção.
join_filterclause Cláusula de filtro.
join_unique_key true A junção está em uma chave exclusiva
false Join não está em uma chave exclusiva.

@force_invalidate_snapshot [ = ] force_invalidate_snapshot

Confirma que a ação executada por esse procedimento armazenado pode invalidar um instantâneo existente. @force_invalidate_snapshot é bit, com um padrão de 0.

  • 0 Especifica que as alterações no artigo de mesclagem não fazem com que o instantâneo seja inválido. Se o procedimento armazenado detectar que a alteração requer um novo instantâneo, ocorrerá um erro e nenhuma alteração será feita.

  • 1 significa que as alterações no artigo de mesclagem podem fazer com que o instantâneo seja inválido e, se houver assinaturas existentes que exijam um novo instantâneo, dá permissão para que o instantâneo existente seja marcado como obsoleto e um novo instantâneo seja gerado.

@force_reinit_subscription [ = ] force_reinit_subscription

Confirma que a ação executada por esse procedimento armazenado pode exigir que as assinaturas existentes sejam reinicializadas. @force_reinit_subscription é bit, com um padrão de 0.

  • 0 Especifica que as alterações no artigo de mesclagem não fazem com que a assinatura seja reinicializada. Se o procedimento armazenado detectar que a alteração irá requerer assinaturas existentes para ser reiniciada, ocorrerá um erro e nenhuma alteração será feita.

  • 1 significa que as alterações no artigo de mesclagem reinicializam assinaturas existentes e dão permissão para que a reinicialização da assinatura ocorra.

Valores do código de retorno

0 (sucesso) ou 1 (falha).

Comentários

sp_changemergefilter é usado na replicação de mesclagem.

A alteração do filtro em um artigo de mesclagem requer que o instantâneo, se existir, seja recriado. Isso é feito definindo o @force_invalidate_snapshot como 1. Se houver assinaturas para este artigo, as assinaturas precisarão ser reinicializadas, o que é feito definindo o @force_reinit_subscription como 1.

Para usar registros lógicos, a publicação e os artigos devem atender a vários requisitos. Para obter mais informações, consulte Agrupar alterações a linhas relacionadas com registros lógicos.

Permissões

Somente membros da função de servidor fixa sysadmin ou db_owner função de banco de dados fixa podem executar sp_changemergefilter.