Compartir a través de


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.