sp_changemergefilter (Transact-SQL)

Se aplica a:SQL Server

Cambia algunas propiedades del filtro de mezcla. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicación.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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'publication'

Nombre de la publicación. @publication es sysname, sin ningún valor predeterminado.

[ @article = ] N'article'

Nombre del artículo. @article es sysname, sin ningún valor predeterminado.

[ @filtername = ] N'filtername'

Nombre actual del filtro. @filtername es sysname, sin ningún valor predeterminado.

[ @property = ] N'property'

Es el nombre de la propiedad que se va a cambiar. @property es sysname, sin ningún valor predeterminado.

[ @value = ] N'value'

El nuevo valor de la propiedad especificada. @value es nvarchar(1000), sin ningún valor predeterminado.

En la tabla siguiente se describen las propiedades de los artículos y los valores de esas propiedades.

Propiedad Valor Descripción
filter_type 1 Filtro de combinación.

Esta opción es necesaria para admitir suscriptores de SQL Server Compact.
2 Relación de registros lógicos.
3 El filtro de combinación también es una relación de registros lógicos.
filtername Nombre del filtro.
join_articlename Nombre del artículo de combinación.
join_filterclause Cláusula de filtro.
join_unique_key true La combinación se hace sobre una clave exclusiva.
false La unión no está en una clave única.

[ @force_invalidate_snapshot = ] force_invalidate_snapshot

Confirma que la acción realizada por este procedimiento almacenado podría invalidar una instantánea existente. @force_invalidate_snapshot es bit, con un valor predeterminado de 0.

  • 0 especifica que los cambios realizados en el artículo de combinación no hacen que la instantánea no sea válida. Si el procedimiento almacenado detecta que el cambio requiere una nueva instantánea, se producirá un error y no se realizarán cambios.

  • 1 significa que los cambios en el artículo de combinación pueden hacer que la instantánea no sea válida y, si hay suscripciones existentes que requerirían una nueva instantánea, concede permiso para que la instantánea existente se marque como obsoleta y se genere una nueva instantánea.

[ @force_reinit_subscription = ] force_reinit_subscription

Confirma que la acción realizada por este procedimiento almacenado puede requerir la reinicialización de las suscripciones existentes. @force_reinit_subscription es bit, con un valor predeterminado de 0.

  • 0 especifica que los cambios realizados en el artículo de combinación no hacen que se reinicialice la suscripción. Si el procedimiento almacenado detecta que el cambio requiere la reinicialización de las suscripciones existentes, se producirá un error y no se realizarán cambios.

  • 1 significa que los cambios en el artículo de mezcla reinicializan las suscripciones existentes y concede permiso para que se produzca la reinicialización de la suscripción.

Valores de código de retorno

0 (correcto) o 1 (erróneo).

Comentarios

sp_changemergefilter se usa en la replicación de mezcla.

Para cambiar el filtro de un artículo de mezcla es preciso recrear la instantánea, si ya existe. Esto se realiza estableciendo el @force_invalidate_snapshot en 1. Si hay suscripciones a este artículo, las suscripciones deben reinicializarse, lo que se realiza estableciendo el @force_reinit_subscription en 1.

Para usar registros lógicos, la publicación y los artículos deben cumplir varios requisitos. Para más información, vea Agrupar cambios en filas relacionadas con registros lógicos.

Permisos

Solo los miembros del rol fijo de servidor sysadmin o db_owner rol fijo de base de datos pueden ejecutar sp_changemergefilter.