Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Detalles del mensaje
| Nombre del producto | SQL Server |
| Id. del evento | 18752 |
| Origen del evento | MSSQLSERVER |
| Componente | Motor de base de datos de SQL Server |
| Nombre simbólico | |
| Texto del mensaje | El Agente de registro del LOG y los procedimientos relacionados con el registro (sp_repldone, sp_replcmds y sp_replshowcmds) solamente pueden conectarse a la base de datos de uno en uno. Si ejecutó un procedimiento relacionado con el registro, quite la conexión mediante la cual se ejecutó el procedimiento o ejecute sp_replflush en esa conexión antes de iniciar el Agente de registro del LOG o de ejecutar otro procedimiento relacionado con el registro. |
Explicación
Más de una conexión actual está intentando ejecutar cualquiera de las siguientes opciones: sp_repldone, sp_replcmds o sp_replshowcmds. Los procedimientos almacenados sp_repldone (Transact-SQL) y sp_replcmds (Transact-SQL) son procedimientos almacenados utilizados por el Agente de registro del Log Reader para buscar y actualizar información sobre las transacciones replicadas en una base de datos publicada. El procedimiento almacenado sp_replshowcmds (Transact-SQL) se usa para solucionar determinados tipos de problemas con la replicación transaccional.
Este error se produce en las siguientes circunstancias:
Si el Agente lector de logs de una base de datos publicada está en ejecución y un segundo agente lector de logs intenta ejecutarse en la misma base de datos, se genera un error para el segundo agente y aparece en el historial del agente.
En una situación en la que pareciera haber varios agentes, es posible que uno de ellos sea el resultado de un proceso sin control.
Si se inicia el Agente de registro del Log Reader para una base de datos publicada y un usuario ejecuta sp_repldone, sp_replcmds o sp_replshowcmds en la misma base de datos, se genera el error en la aplicación donde se ejecutó el procedimiento almacenado (por ejemplo, sqlcmd).
Si no se ejecuta ningún Agente de lectura de registros para una base de datos publicada y un usuario ejecuta sp_repldone, sp_replcmds o sp_replshowcmds, y luego no cierra la conexión sobre la que se ejecutó el procedimiento, se genera un error cuando el Agente de lectura de registros intenta conectarse a la base de datos.
Acción del usuario
Los pasos siguientes pueden ayudarle a solucionar el problema. Si cualquier paso permite que el Agente lector de registros se inicie sin errores, no es necesario completar los pasos restantes.
Compruebe el historial del agente de registro del log para ver si hay otros errores que podrían contribuir a este error. Para obtener información sobre cómo ver el estado del agente y los detalles del error en el Monitor de replicación, vea Ver información y realizar tareas mediante el Monitor de replicación.
Compruebe la salida de sp_who (Transact-SQL) para obtener números de identificación de procesos específicos (SPID) conectados a la base de datos publicada. Cierre las conexiones que puedan haber ejecutado sp_repldone, sp_replcmds o sp_replshowcmds.
Reinicie el agente lector del log. Para obtener más información, vea Iniciar y detener un agente de replicación (SQL Server Management Studio).
Reinicie el servicio Agente de SQL Server (ponerlo fuera de línea o conectarlo en un clúster) en el Distribuidor. Si existe la posibilidad de que un trabajo programado pudiera haber ejecutado sp_repldone, sp_replcmds o sp_replshowcmds desde cualquier otra instancia de SQL Server, reinicie también el Agente SQL Server para esas instancias. Para obtener más información, vea Iniciar, Detener o Pausar el servicio agente SQL Server.
Ejecute sp_replflush (Transact-SQL) en el publicador de la base de datos de publicación y, a continuación, reinicie el Agente del Lector de Registro.
Si el error continúa produciéndose, aumente el registro del agente y especifique un archivo de salida para el registro. Dependiendo del contexto del error, esto podría proporcionar los pasos que conducen al error o mensajes de error adicionales.
Véase también
Referencia de errores y eventos (replicación)
Agente lector de registros de replicación