Compartir a través de


Creación de una alerta de eventos WMI

se aplica a:SQL Serverazure SQL Managed Instance

Importante

En Instancia administrada de Azure SQL, actualmente se admiten la mayoría, pero no todas las características del Agente SQL Server. Consulte diferencias de T-SQL de Azure SQL Managed Instance con respecto a SQL Server para más información.

En este artículo se describe cómo configurar una alerta del Agente de SQL Server que se activa cuando ocurre un evento específico de SQL Server, supervisado por el proveedor WMI para eventos de servidor en SQL Server, utilizando SQL Server Management Studio o Transact-SQL.

Para obtener información sobre el uso del Proveedor WMI para supervisar eventos de SQL Server, consulte Proveedor WMI para Clases de Eventos del Servidor y Propiedades. Para obtener información sobre los permisos necesarios para recibir notificaciones de alertas de eventos WMI, consulte Seleccionar una cuenta para el servicio Agente de SQL Server. Para obtener más información sobre WQL, vea Uso de WQL con el proveedor WMI para eventos de servidor.

Limitaciones y restricciones

  • SQL Server Management Studio proporciona una manera gráfica y sencilla de administrar todo el sistema de alertas y es la manera recomendada de configurar una infraestructura de alertas.

  • Los eventos generados con xp_logevent se producen en la base de datos master. Por lo tanto, xp_logevent no desencadena una alerta a menos que el @database_name de la alerta sea 'master' o NULL.

  • Solo se admiten los espacios de nombres WMI en el equipo que ejecuta el Agente SQL Server.

Permisos

De forma predeterminada, solo los miembros del sysadmin rol fijo de servidor pueden ejecutar sp_add_alert.

Uso de SQL Server Management Studio

  1. En Explorador de objetos, selecciona el signo más para expandir el servidor donde quieras crear una alerta de evento WMI.

  2. Seleccione el signo más para expandir Agente SQL Server.

  3. Haga clic con el botón derecho en Alertas y seleccione Nueva alerta.

  4. En el cuadro de diálogo Nueva alerta, en el cuadro Nombre, escriba un nombre para esta alerta.

  5. Marque la casilla Habilitar para que la alerta se ejecute. De forma predeterminada, Habilitar está marcado.

  6. En la lista Tipo , seleccione la alerta de evento WMI .

  7. En definición de alerta de eventos WMI, en el cuadro Espacio de nombres, especifique el espacio de nombres WMI para la instrucción WMI Query Language (WQL) que identifica qué evento WMI desencadenará esta alerta.

  8. En el cuadro Consulta, especifique la instrucción WQL que identifica el evento al que responde esta alerta.

  9. Seleccione Aceptar.

Uso de Transact-SQL

  1. En Explorador de objetos, conéctese a una instancia del motor de base de datos.

  2. En la barra Estándar, seleccione Nueva consulta.

  3. Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar.

    USE msdb;
    GO
    
    EXEC dbo.sp_add_alert @name = N'Test Alert 2',
        @message_id = 54001,
        @notification_message = N'Error 54001 has occurred on the Sales.SalesOrderDetail table on the AdventureWorks2022 database.',
        @wmi_namespace = '\.\root\Microsoft\SqlServer\ServerEvents',
        @wmi_query = N'SELECT * FROM ALTER_TABLE
    WHERE DatabaseName = ''AdventureWorks2022'' AND SchemaName = ''Sales''
    AND ObjectType=''Table'' AND ObjectName = ''SalesOrderDetail''';
    GO
    

Pasos siguientes