sp_repldone (Transact-SQL)

Actualiza el registro que identifica la última transacción distribuida del servidor. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicaciones.

Nota de advertenciaAdvertencia

Si ejecuta sp_repldone manualmente, puede invalidar el orden y la coherencia de las transacciones entregadas. sp_repldone se debe utilizar únicamente para solucionar problemas de replicación de acuerdo con las instrucciones de un profesional de soporte técnico experto en replicación.

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

Sintaxis

sp_repldone [ @xactid= ] xactid  
        , [ @xact_seqno= ] xact_seqno 
    [ , [ @numtrans= ] numtrans ] 
    [ , [ @time= ] time 
    [ , [ @reset= ] reset ]

Argumentos

  • [ @xactid=] xactid
    Es el número de secuencia del registro (LSN) relativo al primer registro de la última transacción distribuida del servidor. xactid es de tipo binary(10) y no tiene ningún valor predeterminado.

  • [ @xact_seqno=] xact_seqno
    Es el LSN del último registro de la última transacción distribuida del servidor. xact_seqno es de tipo binary(10) y no tiene ningún valor predeterminado.

  • [ @numtrans=] numtrans
    Es el número de transacciones distribuidas. numtrans es de tipo int y no tiene ningún valor predeterminado.

  • [ @time=] time
    Es el número de milisegundos, si se especifica, necesarios para distribuir el último lote de transacciones. time es de tipo int, sin valor predeterminado.

  • [ @reset=] reset
    Es el estado de la restauración. reset es de tipo int y no tiene valor predeterminado. Si es 1, todas las transacciones replicadas del registro se marcan como distribuidas. Si es 0, el registro de transacción se restaura a la primera transacción replicada y ninguna transacción replicada se marca como distribuida. reset sólo es válida cuando xactid y xact_seqno son NULL.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

sp_repldone se utiliza en la replicación transaccional.

El proceso de registro del LOG utiliza sp_repldone para realizar el seguimiento de las transacciones que se han distribuido.

Con sp_repldone, puede indicar manualmente al servidor que se ha replicado una transacción (que se ha enviado al distribuidor). También le permite cambiar la transacción que está marcada como la siguiente en espera de la replicación. Puede desplazarse hacia delante y hacia atrás en la lista de transacciones replicadas. (Todas las transacciones menores o iguales que esa transacción se marcan como distribuidas.)

Los parámetros requeridos xactid y xact_seqno se pueden obtener con sp_repltrans o sp_replcmds.

Permisos

Los miembros del rol fijo de servidor sysadmin o del rol fijo de base de datos db_owner pueden ejecutar sp_repldone.

Ejemplos

Cuando xactid es NULL, xact_seqno es NULL y reset es 1, todas las transacciones replicadas del registro se marcan como distribuidas. Esto resulta útil cuando, por ejemplo, hay transacciones replicadas en el registro de transacciones que ya no son válidas y desea truncar el registro:

EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0,     @time = 0, @reset = 1
Nota de advertenciaAdvertencia

Este procedimiento se puede utilizar en situaciones de emergencia para permitir que se trunque el registro de transacciones cuando existen transacciones pendientes de replicación.

Vea también

Referencia

sp_replcmds (Transact-SQL)

sp_replflush (Transact-SQL)

sp_repltrans (Transact-SQL)

Procedimientos almacenados del sistema (Transact-SQL)