sp_repldone (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

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 publicación.

Precaución

Si ejecuta sp_repldone manualmente, puede invalidar el orden y la coherencia de las transacciones entregadas. sp_repldone solo se debe usar para solucionar problemas de replicación, tal como lo dirige un profesional de soporte técnico de replicación experimentado.

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 de registro (LSN) del primer registro para la última transacción distribuida del servidor. xactid es binary(10), sin valor predeterminado.

[ @xact_seqno = ] xact_seqno Es el LSN del último registro para la última transacción distribuida del servidor. xact_seqno es binary(10) sin valor predeterminado.

[ @numtrans = ] numtrans Es el número de transacciones distribuidas. numtrans es int, sin valor predeterminado.

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

[ @reset = ] reset Es el estado de restablecimiento. reset es int, sin valor predeterminado. Si es 1, todas las transacciones replicadas del registro se marcan como distribuidas. Si es 0, el registro de transacciones se restablece a la primera transacción replicada y no se marca ninguna transacción replicada como distribuida. el restablecimiento solo es válido cuando xactid y xact_seqno son NULL.

Valores de código de retorno

0 (correcto) o 1 (error)

Comentarios

sp_repldone se usa en la replicación transaccional.

sp_repldone usa el proceso del lector de registros para realizar un seguimiento de las transacciones que se han distribuido.

Con sp_repldone, puede indicar manualmente al servidor que se ha replicado una transacción (enviada 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 necesarios xactid y xact_seqno se pueden obtener mediante sp_repltrans o sp_replcmds.

Permisos

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

Ejemplos

Cuando xactid es NULL, xact_seqno es NULL y el restablecimiento 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_seqno = NULL, @numtrans = 0, @time = 0, @reset = 1  

Precaución

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.

Consulte también

sp_replcmds (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)