sp_replcmds (Transact-SQL)
Devuelve los comandos de las transacciones marcadas para réplica. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicaciones.
Importante: |
---|
El procedimiento sp_replcmds sólo se debe ejecutar para solucionar problemas de réplica. |
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_replcmds [ @maxtrans = ] maxtrans
Argumentos
- [ @maxtrans=] maxtrans
Es el número de transacciones acerca de las cuales se va a devolver información. maxtrans es de tipo int, con un valor predeterminado de 1, que especifica la siguiente transacción en espera para la distribución.
Conjuntos de resultados
Nombre de columna | Tipo de datos | Descripción |
---|---|---|
article_id |
int |
Id. del artículo. |
partial_command |
bit |
Indica si se trata de un comando parcial o no. |
command |
varbinary(1024) |
Valor del comando. |
xactid |
binary(10) |
Id. de la transacción. |
xact_seqno |
varbinary(16) |
Número de secuencia de la transacción. |
publication_id |
int |
Id. de la publicación. |
command_id |
int |
Id. del comando de MSrepl_commands. |
command_type |
int |
Tipo de comando. |
originator_srvname |
sysname |
Servidor en el que se originó la transacción. |
originator_db |
sysname |
Base de datos en la que se originó la transacción. |
pkHash |
int |
Exclusivamente para uso interno. |
originator_publication_id |
int |
Id. de la publicación en la que se originó la transacción. |
originator_db_version |
int |
Versión de la base de datos en la que se originó la transacción. |
originator_lsn |
varbinary(16) |
Identifica el número de secuencia de registro (LSN) para el comando de la publicación en la que se origina. |
Notas
El proceso lector del registro utiliza sp_replcmds en la réplica transaccional.
La réplica trata el primer cliente que ejecuta sp_replcmds en una base de datos dada como lector del registro.
Este procedimiento puede generar comandos para tablas calificadas por el propietario o no calificar el nombre de la tabla (valor predeterminado). Agregar nombres de tabla calificados permite replicar datos de tablas que pertenecen a un usuario específico de una base de datos a tablas que pertenecen al mismo usuario en otra base de datos.
[!NOTA] Debido a que el nombre de tabla en la base de datos de origen está calificado mediante el nombre del propietario, el propietario de la tabla en la base de datos de destino deberá tener ese mismo nombre.
Los clientes que intentan ejecutar sp_replcmds en la misma base de datos reciben el error 18752 hasta que el primer cliente desconecta. Una vez que el primer cliente ha desconectado, otro cliente puede ejecutar sp_replcmds para convertirse en el nuevo lector del registro.
Se agrega el mensaje de advertencia número 18759 tanto al registro de errores de Microsoft SQL Server como al registro de aplicación de Microsoft Windows si sp_replcmds no puede replicar un comando de texto debido a que no se recuperó el puntero de texto en la misma transacción.
Permisos
Sólo los miembros de la función fija de servidor sysadmin o de la función fija de base de datos db_owner pueden ejecutar sp_replcmds.
Vea también
Referencia
sp_repldone (Transact-SQL)
sp_replflush (Transact-SQL)
sp_repltrans (Transact-SQL)
Procedimientos almacenados del sistema (Transact-SQL)