Créer une alerte à l'aide d'un niveau de gravité

S’applique à :SQL ServerAzure SQL Managed Instance

Important

Dans Azure SQL Managed Instance, la plupart, mais pas toutes les fonctionnalités SQL Server Agent sont actuellement prises en charge. Pour plus d’informations, consultez Différences T-SQL entre Azure SQL Managed Instance et SQL Server.

Cette rubrique explique comment créer une alerte Microsoft SQL Server Agent déclenchée quand un événement d’un niveau de gravité spécifique se produit dans SQL Server à l’aide de SQL Server Management Studio ou de 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.

  • Les niveaux de gravité compris entre 19 et 25 envoient un message SQL Server au journal des applications Microsoft Windows et déclenchent une alerte. Les événements dont le niveau de gravité est inférieur à 19 déclenchent des alertes uniquement si vous avez utilisé sp_altermessage, RAISERROR WITH LOG ou xp_logevent pour forcer leur enregistrement dans le journal des applications Windows.

Sécurité

Autorisations

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

Utilisation de SQL Server Management Studio

Pour créer une alerte à l'aide d'un niveau de gravité

  1. Dans l’Explorateur d'objets , cliquez sur le signe plus (+) pour développer le serveur sur lequel vous souhaitez créer une alerte à l'aide d'un niveau de gravité.

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

  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. Dans la liste Type , sélectionnez Alerte d'événement SQL Server.

  6. Sous Définition d'une alerte d'événement, dans la liste Nom de base de données , sélectionnez une base de données pour restreindre l'alerte à une base de données spécifique.

  7. Sous Les alertes seront déclenchées selon, cliquez sur Gravité , puis sélectionnez la gravité spécifique qui déclenchera l'alerte.

  8. Activez la case à cocher correspondant à Déclencher une alerte quand le message contient afin de limiter l'alerte à une certaine séquence de caractères, puis entrez un mot clé ou une chaîne de caractères pour le Texte du message. Le nombre maximal de caractères autorisé est de 100.

  9. Cliquez sur OK.

Utilisation de Transact-SQL

Pour créer une alerte à l'aide d'un niveau de gravité

  1. Dans l' Explorateur d'objets, connectez-vous à une instance du 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.

    -- Adds an alert (Test Alert) that notifies the
    -- Alert Operator via email when an error with a 
    -- severity of 23 is detected.
    
    -- Assumes that the Alert Operator already exists 
    -- and that database mail is configured.
    
    USE msdb ;  
    GO  
    
    EXEC dbo.sp_add_alert @name=N'Test Alert', 
      @message_id = 0, 
      @severity = 23, 
      @enabled = 1, 
      @include_event_description_in = 1
    ;
    GO
    
    EXEC dbo.sp_add_notification @alert_name=N'Test Alert',
      @operator_name=N'Alert Operator',
      @notification_method=1
    ;
    GO
    
    

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