sp_setsubscriptionxactseqno (Transact-SQL)

Se utiliza durante la solución de problemas para especificar el número de secuencia de registro (LSN) de la siguiente transacción que se va a aplicar al Agente de distribución en el suscriptor, lo que permite al agente omitir una transacción que ha dado error. Este procedimiento almacenado se ejecuta en el suscriptor de la base de datos de suscripciones. No se admite para suscriptores que no sean de SQL Server.

Nota de advertenciaAdvertencia

El uso incorrecto de este procedimiento almacenado o la especificación de un valor LSN incorrecto puede ocasionar que el Agente de distribución revierta los cambios ya aplicados en el suscriptor o que omita todos los cambios restantes.

Icono de vínculo a temas Convenciones de sintaxis de Transact-SQL

Sintaxis

sp_setsubscriptionxactseqno [ @publisher = ] 'publisher' 
        , [ @publisher_db = ] 'publisher_db' 
        , [ @publication = ] 'publication' 
        , [ @xact_seqno = ] xact_seqno

Argumentos

  • [ @publisher= ] 'publisher'
    Es el nombre del publicador. publisher es de tipo sysname y no tiene ningún valor predeterminado.

  • [ @publisher_db= ] 'publisher_db'
    Es el nombre de la base de datos de publicación. publisher_db es de tipo sysname y no tiene ningún valor predeterminado. En un publicador que no es de SQL Server, publisher_db es el nombre de la base de datos de distribución.

  • [ @publication= ] 'publication'
    Es el nombre de la publicación. publication es de tipo sysname y no tiene ningún valor predeterminado. Cuando varias publicaciones comparten el Agente de distribución, debe especificarse un valor de ALL para publication.

  • [ @xact_seqno= ] xact_seqno
    Es el LSN de la siguiente transacción en el distribuidor que se tiene que aplicar en el suscriptor. xact_seqno es de tipo varbinary(16) y no tiene ningún valor predeterminado.

Conjunto de resultados

Nombre de columna

Tipo de datos

Descripción

ORIGINAL XACT_SEQNO

varbinary(16)

El LSN original de la siguiente transacción que se va a aplicar en el suscriptor.

UPDATED XACT_SEQNO

varbinary(16)

El LSN actualizado de la siguiente transacción que se va a aplicar en el suscriptor.

SUBSCRIPTION STREAM COUNT

int

El número de flujos de suscripción utilizados durante la última sincronización.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

sp_setsubscriptionxactseqno se utiliza en la replicación transaccional.

sp_setsubscriptionxactseqno no se puede utilizar en una topología de replicación transaccional punto a punto.

El procedimiento almacenado sp_setsubscriptionxactseqno se puede utilizar para omitir una transacción específica que esté causando un error cuando se aplica en el suscriptor. Cuando se produce un error y después de que el Agente de distribución se detenga, llame a sp_helpsubscriptionerrors (Transact-SQL) en el distribuidor para recuperar el valor xact_seqno de la transacción que produjo el error y, después, a sp_setsubscriptionxactseqno, pasando este valor para xact_seqno. Así se garantizará que se procesen solamente los comandos después de este LSN.

Especifique el valor 0 para xact_seqno a fin de entregar todos los comandos pendientes de la base de datos de distribución al suscriptor.

sp_setsubscriptionxactseqno puede producir un error si el Agente de distribución utiliza flujos de varias suscripciones.

Cuando se produzca este error, debe ejecutar el Agente de distribución con un flujo de suscripción único. Para obtener más información, vea Agente de distribución de replicación.

Permisos

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