sp_replmonitorsubscriptionpendingcmds (Transact-SQL)
Se aplica a: SQL Server Azure SQL Instancia administrada
Devuelve información sobre el número de comandos pendientes para una suscripción a una publicación transaccional y una estimación aproximada del tiempo que requiere procesarlos. Este procedimiento almacenado devuelve una fila para cada suscripción devuelta. Este procedimiento almacenado, que se utiliza para supervisar la replicación, se ejecuta en el distribuidor en la base de datos de distribución.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_replmonitorsubscriptionpendingcmds [ @publisher = ] 'publisher'
, [ @publisher_db = ] 'publisher_db'
, [ @publication = ] 'publication'
, [ @subscriber = ] 'subscriber'
, [ @subscriber_db = ] 'subscriber_db'
, [ @subscription_type = ] subscription_type
, [ @subdb_version = ] subdb_version
Argumentos
[ @publisher = ] 'publisher'
El nombre del publicador. publisher es sysname, sin ningún valor predeterminado.
[ @publisher_db = ] 'publisher_db'
Nombre de la base de datos publicada. publisher_db es sysname, sin ningún valor predeterminado.
[ @publication = ] 'publication'
Nombre de la publicación. publication es sysname, sin ningún valor predeterminado.
[ @subscriber = ] 'subscriber'
Nombre del suscriptor. subscriber es sysname, sin valor predeterminado.
[ @subscriber_db = ] 'subscriber_db'
Nombre de la base de datos de suscripciones. subscriber_db es sysname, sin ningún valor predeterminado.
[ @subscription_type = ] subscription_type
Tipo de suscripción. subscription_type es int, sin valor predeterminado y puede ser uno de estos valores.
Valor | Descripción |
---|---|
0 |
Suscripción de inserción. |
1 |
Suscripción de extracción |
[ @subdb_version = ] subdb_version
dbversion
de la base de datos de suscripciones. subdb_version es un parámetro opcional de tipo int, con un valor predeterminado de 0.
Conjunto de resultados
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
pendingcmdcount |
int | El número de comandos pendientes para la suscripción. |
estimatedprocesstime |
int | Estimación del número de segundos necesarios para entregar todos los comandos pendientes al suscriptor. |
Valores de código de retorno
0
(correcto) o 1
(erróneo).
Comentarios
sp_replmonitorsubscriptionpendingcmds
se usa con la replicación transaccional.
Antes de SQL Server 2019 (15.x) CU17, sp_replmonitorsubscriptionpendingcmds
no se admitía con la replicación punto a punto y devolvió un número incorrecto de comandos pendientes cuando se usa para consultar la topología de replicación punto a punto. En SQL Server 2019 (15.x) CU 17, se ha agregado compatibilidad para que sp_replmonitorsubscriptionpendingcmds
sea compatible con publicaciones punto a punto.
Sin embargo, incluso con SQL Server 2019 (15.x) CU17 o posterior, sp_replmonitorsubscriptionpendingcmds
podría notificar un número incorrecto de comandos pendientes cuando se usa con la replicación punto a punto si la tabla MSrepl_originators
contiene una entrada obsoleta de una versión incorrecta de la base de datos de suscripciones. Para corregir el problema, elimine todas las entradas obsoletas de MSrepl_originators
o pase la corrección dbversion
de la base de datos de suscripciones cuando use el subdb_version
argumento para el sp_replmonitorsubscriptionpendingcmds
procedimiento almacenado.
Consulte KB5017009 para obtener más información sobre cómo determinar dbversion
.
Permisos
Solo los miembros del rol fijo de servidor sysadmin en el distribuidor o los miembros de la db_owner rol fijo de base de datos de la base de datos de distribución pueden ejecutar sp_replmonitorsubscriptionpendingcmds
. Los miembros de la lista de acceso a la publicación de una publicación que usa la base de datos de distribución pueden ejecutarse sp_replmonitorsubscriptionpendingcmds
para devolver comandos pendientes para esa publicación.