Crear una alerta de evento WMI

Se aplica a:SQL ServerAzure SQL Managed Instance

Importante

En Azure SQL Managed Instance, actualmente son compatibles la mayoría de las características del Agente SQL Server. Consulte Diferencias entre T-SQL de Azure SQL Managed Instance y SQL Server para más información.

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

Para obtener información sobre cómo usar el proveedor de WMI para supervisar los eventos de SQL Server, consulte Proveedor de VMI de clases y propiedades de eventos de servidor. Para más información sobre los permisos necesarios para recibir notificaciones de alertas de eventos de WMI, consulte Seleccionar una cuenta para el servicio Agente SQL Server. Para más información sobre WQL, consulte Usar WQL con el proveedor de WMI para eventos de servidor.

Limitaciones y restricciones

  • SQL Server Management Studio proporciona una forma gráfica y fácil de administrar todo el sistema de alertas, y es el método recomendado para configurar una infraestructura de alertas.

  • Los eventos generados durante xp_logevent se producen en la base de datos master. Por 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 rol fijo de servidor sysadmin pueden ejecutar sp_add_alert.

Uso de SQL Server Management Studio

  1. En el Explorador de objetos, seleccione el signo más para expandir el servidor donde desea 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. Active la casilla Habilitar para que la alerta se pueda ejecutar. De forma predeterminada, la opción Habilitar está activada.

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

  7. En Definición de evento de alerta de WMI, en el cuadro Espacio de nombres , especifique el espacio de nombres WMI para la instrucción WQL (Lenguaje de consulta de WMI) que identifica qué evento WMI activará 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 el 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