Créer une alerte d'événement WMI

Cette rubrique explique comment créer une alerte de l'Agent SQL Server qui est déclenchée lorsqu'un événement SQL Server spécifique surveillé par le fournisseur WMI se produit pour les événements de serveur dans SQL Server 2012 à l'aide de SQL Server Management Studio ou de Transact-SQL.

Pour plus d'informations sur l'utilisation du fournisseur WMI pour surveiller des événements SQL Server, consultez Fournisseur WMI pour les concepts des événements de serveur. Pour plus d'informations sur les autorisations nécessaires pour recevoir des notifications d'alertes d'événements WMI, consultez Sélectionner un compte pour le service SQL Server Agent. Pour plus d'informations sur WQL, consultez Utilisation de WQL avec le fournisseur WMI pour les événements de serveur.

Dans cette rubrique

  • Avant de commencer :

    Limitations et restrictions

    Sécurité

  • Pour créer une alerte d'événement WMI, utilisez :

    SQL Server Management Studio

    Transact-SQL

Avant de commencer

Limitations et restrictions

  • SQL Server Management Studio est un outil simple, fonctionnant en mode graphique, qui permet de gérer tout le système d'alerte. Son utilisation est recommandée pour configurer une infrastructure d'alertes.

  • Les événements créés à l'aide de xp_logevent surviennent dans la base de données master. Ainsi, la procédure xp_logevent ne déclenche pas d'alerte sauf si la valeur de @database_name pour l'alerte est 'master' ou NULL.

  • Seuls les espaces de noms WMI résidant sur l'ordinateur qui exécute l'Agent SQL Server sont pris en charge.

Sécurité

Autorisations

Par défaut, seuls les membres du rôle serveur fixe sysadmin peuvent exécuter la procédure sp_add_alert.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Utilisation de SQL Server Management Studio

Pour créer une alerte d'événement WMI

  1. Dans l'Explorateur d'objets, cliquez sur le signe plus (+) pour développer le serveur sur lequel vous souhaitez créer une alerte d'événement WMI.

  2. Cliquez sur le signe plus (+) pour développer SQL Server Agent.

  3. Cliquez avec le bouton droit sur Alertes, puis sélectionnez Nouvelle alerte.

  4. Dans la boîte de dialogue Nouvelle alerte, dans la zone Nom, entrez un nom pour cette alerte.

  5. Sélectionnez la case à cocher Activer afin d'activer l'alerte à exécuter. Par défaut, l'option Activer est sélectionnée.

  6. Dans la liste Type, sélectionnez Alerte d'événement WMI.

  7. Sous Définition d'une alerte d'événement WMI, dans la zone Espace de noms, spécifiez l'espace de noms WMI pour l'instruction WQL (WMI Query Language) qui identifie l'événement WMI qui déclenchera cette alerte.

  8. Dans la zone Requête, spécifiez l'instruction WQL qui identifie l'événement auquel cette alerte répond.

  9. Cliquez sur OK.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Utilisation de Transact-SQL

Pour créer une alerte d'événement WMI

  1. Dans l'Explorateur d'objets, connectez-vous à une instance de Moteur de base de données.

  2. Dans la barre d'outils standard, cliquez sur Nouvelle requête.

  3. Copiez et collez l'exemple suivant dans la fenêtre de requête, puis cliquez sur Exécuter.

    -- creates a WMI event alert that retrieves all event properties for any ALTER_TABLE event that occurs on table AdventureWorks2012.Sales.SalesOrderDetail
    -- This example assumes that the message 54001 already exists.
    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 AdventureWorks2012 database. Please see the following information…',
        @wmi_namespace = '\\.\root\Microsoft\SqlServer\ServerEvents\,
        @wmi_query = N'SELECT * FROM ALTER_TABLE 
    WHERE DatabaseName = 'AdventureWorks2012' AND SchemaName = 'Sales' 
        AND ObjectType='Table' AND ObjectName = 'SalesOrderDetail'';
    GO
    

Pour plus d'informations, consultez sp_add_alert (Transact-SQL).

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]