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.
SQL Server Management Studio y el Agente MICROSOFT SQL Server proporcionan una manera de supervisar eventos, como eventos del agente de replicación, mediante alertas. El Agente SQL Server supervisa el registro de aplicaciones de Windows para los eventos asociados a las alertas. Si se produce este evento, el Agente SQL Server responde automáticamente mediante la ejecución de una tarea que haya definido o enviado un mensaje de correo electrónico o un mensaje de buscapersonas a un operador especificado. SQL Server incluye un conjunto de alertas predefinidas para agentes de replicación que puede configurar para ejecutar una tarea o notificar a un operador. Para obtener más información sobre cómo definir una tarea que se va a ejecutar, vea la sección "Automatización de una respuesta a una alerta" en este tema.
Las siguientes alertas se instalan cuando un equipo está configurado como distribuidor:
| Id. del mensaje | Alerta predefinida | Condición que provoca que se active la alerta | Escribe información adicional en msdb..sysreplicationalerts |
|---|---|---|---|
| 14150 | Replicación: éxito del agente | El agente se apaga correctamente. | Sí |
| 14151 | Replicación: error del agente | El agente se cierra con un error. | Sí |
| 14152 | Replicación: reintento del agente | El agente se cierra tras reintentar sin éxito una operación (el agente encuentra un error como servidor no disponible, bloqueo, fallo de conexión o fallo de tiempo de espera). | Sí |
| 14157 | Replicación: suscripción expirada eliminada | Se quitó la suscripción expirada. | No |
| 20572 | Replicación: suscripción reinicializada después del error de validación | El trabajo de respuesta "Reinicializa las suscripciones en caso de error de validación de datos" reinicializa correctamente una suscripción. | No |
| 20574 | Replicación: el suscriptor ha producido un error en la validación de datos | El Agente de distribución o mezcla produce un error en la validación de datos. | Sí |
| 20575 | Replicación: el suscriptor ha superado la validación de datos | El Agente de distribución o mezcla pasa la validación de datos. | Sí |
| 20578 | Replicación: apagado personalizado del agente | ||
| 22815 | Alerta de detección de conflictos entre pares | El Agente de distribución detectó un conflicto cuando intenta aplicar un cambio en un nodo punto a punto. | Sí |
Además de estas alertas, el Monitor de replicación proporciona un conjunto de advertencias y alertas relacionadas con el estado y el rendimiento. Para obtener más información, consulte Establecer umbrales y advertencias en la infraestructura de alertas del Monitor de replicación . Para obtener más información, vea Crear un evento User-Defined.
Para configurar alertas de replicación predefinidas
- SQL Server Management Studio: Configurar alertas de replicación predefinidas (SQL Server Management Studio)
Visualización del registro de aplicaciones directamente
Para ver el registro de aplicaciones de Windows, use el Visor de eventos de Microsoft Windows. El registro de la aplicación contiene mensajes de error de SQL Server, así como mensajes para muchas otras actividades en el equipo. A diferencia del registro de errores de SQL Server, no se crea un nuevo registro de aplicaciones cada vez que inicia SQL Server (cada sesión de SQL Server escribe nuevos eventos en un registro de aplicaciones existente); sin embargo, puede especificar cuánto tiempo se conservarán los eventos registrados. Al ver el registro de aplicaciones de Windows, puede filtrar el registro de eventos específicos. Para obtener más información, consulte la documentación de Windows.
Automatización de una respuesta a una alerta
La replicación proporciona un trabajo de respuesta para las suscripciones que producen un error en la validación de datos y también proporciona un marco para crear respuestas automatizadas adicionales a las alertas. El trabajo de respuesta se denomina Reinicializar suscripciones en caso de error de validación de datos y se almacena en la carpeta Trabajos del Agente SQL Server en SQL Server Management Studio. Para obtener información sobre cómo habilitar este trabajo de respuesta, vea Configurar alertas de replicación predefinidas (SQL Server Management Studio). Si los artículos de una publicación transaccional no se validan, el trabajo de respuesta reinicializa solo los artículos con errores. Si los artículos de una publicación de combinación no se validan, el trabajo de respuesta reinicializa todos los artículos de la publicación.
Marco para automatizar respuestas
Normalmente, cuando se produce una alerta, la única información que tiene que ayudarle a comprender lo que provocó la alerta y la acción adecuada que se debe realizar se encuentra en el propio mensaje de alerta. Analizar esta información puede ser propensa a errores y llevar mucho tiempo. La replicación facilita la automatización de las respuestas proporcionando información adicional sobre la alerta en la tabla del sistema sysreplicationalerts ; la información proporcionada ya se analiza en un formulario fácilmente utilizado por programas personalizados.
Por ejemplo, si los datos de la tabla Sales.SalesOrderHeader del suscriptor A produce un error de validación, SQL Server puede desencadenar el mensaje 20574, notificándose de ese error. El mensaje que recibe será: "Suscriptor "A", suscripción al artículo "SalesOrderHeader" en la publicación "MyPublication" con errores de validación de datos".
Si crea una respuesta basada en el mensaje, debe analizar manualmente el nombre del suscriptor, el nombre del artículo, el nombre de la publicación y el error del mensaje. Sin embargo, dado que el Agente de distribución y el Agente de mezcla escriben esa misma información en sysreplicationalerts (junto con detalles como el tipo de agente, la hora de la alerta, la base de datos de publicación, la base de datos de suscriptor y el tipo de publicación), el trabajo de respuesta puede consultar directamente la información pertinente de la tabla. Aunque la fila exacta no se puede asociar a una instancia específica de la alerta, la tabla tiene una columna de estado , que se puede usar para realizar un seguimiento de las entradas con servicio. Las entradas de esta tabla se mantienen durante el período de retención del historial.
Por ejemplo, si tuviera que crear una tarea de respuesta en Transact-SQL que atienda el mensaje de alerta 20574, podría usar la siguiente lógica.
declare @publisher sysname, @publisher_db sysname, @publication sysname, @publication_type int, @article sysname, @subscriber sysname, @subscriber_db sysname, @alert_id int
declare hc cursor local for select publisher, publisher_db, publication, publication_type, article, subscriber,
subscriber_db, alert_id from
msdb..sysreplicationalerts where
alert_error_code = 20574 and status = 0
for read only
open hc
fetch hc into @publisher, @publisher_db, @publication, @publication_type, @article, @subscriber, @subscriber_db, @alert_id
while (@@fetch_status <> -1)
begin
/* Do custom work */
/* Update status to 1, which means the alert has been serviced. This prevents subsequent runs of this job from doing this again */
update msdb..sysreplicationalerts set status = 1 where alert_id = @alert_id
fetch hc into @publisher, @publisher_db, @publication, @publication_type, @article, @subscriber, @subscriber_db, @alert_id
end
close hc
deallocate hc
Véase también
Administración del Agente de replicación
Procedimientos recomendados para la administración de replicación
Supervisión (replicación)