MSSQL_ENG020554
Se aplica a: SQL Server Azure SQL Managed Instance
Detalles del mensaje
Attribute | Valor |
---|---|
Nombre del producto | SQL Server |
Id. de evento | 20554 |
Origen de eventos | MSSQLSERVER |
Componente | Motor de base de datos de SQL Server |
Nombre simbólico | |
Texto del mensaje | El agente de replicación no ha registrado un mensaje de progreso en %ld minutos. Esto podría indicar que un agente no responde o una gran actividad en el sistema. Compruebe que se están replicando los registros en el destino y que las conexiones al suscriptor, publicador y distribuidor están activas. |
Explicación
El trabajo Comprobación de agentes de replicación se ejecuta con un intervalo especificado (10 minutos de manera predeterminada) para comprobar el estado de cada agente de replicación. Si un agente no ha registrado ningún progreso desde la última vez que se ejecutó el trabajo de comprobación del agente, se puede generar el error MSSQL_ENG020554. Se espera que el agente registre al menos los mensajes del historial incluso si no se produce ninguna otra actividad de replicación. Aunque el agente de replicación no está respondiendo como se esperaba, no necesariamente se ha detenido ni se ha producido un error (si se ha producido un error en un agente, se genera el error MSSQL_ENG020536).
Los siguientes problemas pueden dar como resultado que se genere el error MSSQL_ENG020554:
El agente está ocupado.
Si el agente está demasiado ocupado para responder cuando el trabajo de comprobación del agente le sondea, el trabajo de comprobación del agente no podrá informar de si el agente de replicación está funcionando correctamente. Existen una serie de razones por las que el agente de replicación puede estar ocupado: puede que se estén replicando muchos datos o que haya problemas en el diseño o la configuración de la aplicación que den como resultado procesos que se ejecutan durante un período de tiempo prolongado.
El agente no puede iniciar sesión en uno de los equipos de la topología.
Todos los agentes tienen un parámetro -LoginTimeOut (establecido en 15 segundos de manera predeterminada), que controla el tiempo que un agente intenta iniciar sesión en un nodo de replicación, por ejemplo, como Agente de mezcla que inicia sesión en el publicador. Si el valor -LoginTimeOut está establecido en un valor mayor que el intervalo en el que se ejecuta el trabajo de comprobación del agente de replicación, un problema de inicio de sesión podría ser la causa raíz del error: el error MSSQL_ENG020554 se genera antes de que el agente pueda generar un error más específico.
Acción del usuario
La acción requerida depende de la causa del error.
Para todos los casos en los que se genera el error:
Compruebe los detalles del error en el Monitor de replicación y, a continuación, reinicie el agente si se ha detenido. Los detalles del error pueden ofrecer información adicional sobre el motivo por el que el agente no se estaba ejecutando correctamente. Si el agente se está ejecutando, no lo detenga y lo reinicie porque esto puede agravar el problema. Para obtener información sobre la visualización del estado y los errores en Monitor de replicación, vea Visualización de información y realización de tareas mediante el Monitor de replicación.
Si este error se genera con frecuencia porque el agente está ocupado:
Es posible que tenga que volver a diseñar la aplicación para que el agente pase menos tiempo procesando.
Puede incrementar el intervalo en el que el estado del agente se comprueba usando el cuadro de diálogo Propiedades del trabajo . Para obtener información sobre el acceso a este cuadro de diálogo para trabajos de replicación, vea Visualización de información y realización de tareas mediante el Monitor de replicación.
Si un agente no puede iniciar sesión en uno de los equipos de la topología:
Se recomienda que establezca -LoginTimeOut en un valor inferior al intervalo en el que se ejecuta el trabajo de comprobación del agente de replicación. En algunos casos, el valor de -LoginTimeOut se establece más alto debido a problemas de red que hacen que los inicios de sesión agoten el tiempo de espera. Si -LoginTimeOut se establece más bajo, la replicación puede notificar errores más específicos, lo que le permite solucionar problemas de inicio de sesión que podrían deberse a permisos, problemas de red u otros problemas. Los parámetros del agente se pueden especificar en los perfiles del agente y en la línea de comandos. Para más información, vea: