Compartir a través de


Alertas del Agente SQL Server

Se aplica a:SQL Server

Importante

En Azure SQL Managed Instancese admiten actualmente la mayoría de las características del Agente SQL Server, pero no todas. Consulte Diferencias de T-SQL entre SQL Server y Azure SQL Managed Instance o Limitaciones de los trabajos del Agente SQL en SQL Managed Instance para obtener más información.

Los eventos generados por SQL Server se escriben en el registro de aplicaciones de Windows. El Agente SQL Server lee el registro de aplicaciones y compara los eventos escritos allí con las alertas que defina.

Cuando el Agente SQL Server encuentra una coincidencia, activa una alerta, que es una respuesta automatizada a un evento. Además de supervisar los eventos de SQL Server , el Agente SQL Server también puede supervisar las condiciones de rendimiento y los eventos de Instrumental de administración de Windows (WMI).

Para definir una alerta, debe especificar:

  • Nombre de la alerta.
  • El evento o condición de rendimiento que desencadena la alerta.
  • La acción que el Agente SQL Server realiza como respuesta al evento o condición de rendimiento.

Asignar un nombre a una alerta

Cada alerta debe tener un nombre. Los nombres de alerta deben ser únicos dentro de la instancia de SQL Server y no pueden tener más de 128 caracteres.

Selección de un tipo de evento

Una alerta responde a un tipo de evento específico. Las alertas responden a los siguientes tipos de evento:

  • Eventos de SQL Server
  • Condiciones de rendimiento de SQL Server
  • Eventos de Instrumentación de administración de Windows (WMI)

El tipo de evento determina los parámetros que se utilizan para especificar el evento preciso.

Especificar un evento de SQL Server

Puede especificar una alerta para que se produzca en respuesta a uno o más eventos. Utilice los siguientes parámetros para especificar los eventos que desencadenan una alerta:

  • Número de error: el Agente SQL Server desencadena una alerta cuando se produce un error específico. Por ejemplo, puede especificar el número de error 2571 para responder a los intentos no autorizados de invocar comandos de consola de base de datos (DBCC).

  • Nivel de gravedad: el Agente SQL Server desencadena una alerta cuando se produce cualquier error de la gravedad específica. Por ejemplo, puede especificar el nivel de gravedad 15 para responder a errores de sintaxis en instrucciones Transact-SQL.

  • Base de datos: el Agente SQL Server activa una alerta solo cuando el evento se produce en una base de datos determinada. Esta opción se aplica además del número de error o el nivel de gravedad. Por ejemplo, si una instancia de SQL Server contiene una base de datos que se usa para producción y una base de datos que se usa para la generación de informes, puede definir una alerta que responda solo a errores de sintaxis en la base de datos de producción.

  • Texto del evento: el Agente SQL Server desencadena una alerta cuando el evento especificado contiene una cadena de texto determinada en el mensaje de evento. Por ejemplo, puede definir una alerta que responda a los mensajes que contienen el nombre de una tabla o restricción determinada.

Selección de una condición de rendimiento

Puede especificar una alerta para que se active en respuesta a una condición de rendimiento determinada. En este caso, debe especificar el contador de rendimiento que se supervisa, un umbral para la alerta y el comportamiento que el contador debe mostrar si la alerta tiene lugar. Para establecer una condición de rendimiento, debe definir los siguientes elementos en la página SQL Server General del cuadro de diálogo Nueva alerta o Propiedades de alerta del Agente :

  • Objeto: el objeto es el área de rendimiento que se va a supervisar.

  • Contador: un contador es un atributo del área que se va a supervisar.

  • Instancia: la instancia de SQL Server define la instancia específica (si existe) del atributo que se va a supervisar.

  • Alertar si el contador y Valor

    El umbral de la alerta y el comportamiento que genera la alerta. El umbral es un número. El comportamiento puede ser: está por debajo de, es igual ao está por encima de un número especificado en Valor. El Valor es un número que describe el contador de condición de rendimiento. Por ejemplo, para establecer una alerta que tendrá lugar para el objeto de rendimiento SQLServer:Locks cuando pasen 30 minutos del Tiempo de espera de bloqueos , deberá elegir está por encima de y especificar 30 para el valor.

    Como otro ejemplo, puede especificar que se produzca una alerta para el objeto de rendimiento SQLServer:Transactions cuando el espacio libre en tempdb cae por debajo de 1000 KB. Para establecer este valor, vaya al contador Espacio libre en tempdb (KB), seleccione cae debajo y elija un valor de 1000.

    Se muestrean periódicamente los datos de rendimiento, lo que puede causar una pequeña demora (unos segundos) entre el momento en que se alcanza el umbral y la activación de la alerta relativa al rendimiento.

    Las variables de registro de eventos que almacenan los nombres de los servidores están limitadas a 32 caracteres. Por lo tanto, si el tamaño combinado del nombre de host y el nombre de instancia es mayor que 32 caracteres, es posible que reciba el siguiente error:

    Warning,[466] Failed to copy server name LONGNAMESQLSERV\LONGINSTANCENAME while generating performance counter alerts.
    

Selección de un evento WMI

Puede especificar que una alerta tenga lugar como respuesta a un determinado evento de WMI. Para seleccionar un evento de WMI, debe definir lo siguiente en la página SQL Server General del cuadro de diálogo Nueva alerta o Propiedades de alerta del Agente :

  • Espacio de nombres: el Agente SQL Server se registra como un cliente WMI en el espacio de nombres WMI que se proporciona para consultar eventos.

  • Consulta: el Agente SQL Server usa la instrucción Lenguaje de consulta de instrumental de administración de Windows (WQL) proporcionada para identificar el evento específico.

Acción SQL Server Management Studio Transact-SQL
Creación de una alerta basada en un número de mensaje Crear una alerta con un número de error sp_add_alert
Creación de una alerta en función de los niveles de gravedad Creación de una alerta mediante el nivel de gravedad sp_add_alert
Creación de una alerta basada en un evento WMI Creación de una alerta de eventos WMI sp_add_alert
Definición de la respuesta a una alerta Definir la respuesta a una alerta sp_add_notification
Creación de un mensaje de error de evento definido por el usuario sp_addmessage
Modificación de un mensaje de error de evento definido por el usuario sp_altermessage
Eliminación de un mensaje de error de evento definido por el usuario sp_dropmessage
Deshabilitar o reactivar una alerta Deshabilitar o reactivar una alerta sp_update_alert