Creazione di un avviso utilizzando i livelli di gravità

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Importante

In Istanza gestita di SQL di Azure sono attualmente supportate la maggior parte delle funzionalità di SQL Server Agent, ma non tutte. Per informazioni dettagliate, vedere Differenze T-SQL tra Istanza gestita di SQL di Azure e SQL Server.

Questo argomento descrive come creare un avviso di Microsoft SQL Server Agent generato quando si verifica un evento con un livello di gravità specifico in SQL Server usando SQL Server Management Studio o Transact-SQL.

Prima di iniziare

Limitazioni e restrizioni

  • SQL Server Management Studio offre un semplice strumento grafico per la gestione del sistema di avvisi ed è lo strumento consigliato per la configurazione di un'infrastruttura di avvisi.

  • Gli eventi generati con la stored procedure xp_logevent si verificano nel database master. Pertanto, xp_logevent genera un avviso solo se @database_name per l'avviso è 'master' o NULL.

  • I livelli di gravità da 19 a 25 determinano l'invio di un messaggio di SQL Server al registro applicazioni di Microsoft Windows e l'attivazione di un avviso. Gli eventi con livello di gravità inferiore a 19 determinano l'attivazione di avvisi solo se è stato usato sp_altermessage, RAISERROR WITH LOG oppure xp_logevent per forzarne la scrittura nel registro applicazioni di Windows.

Sicurezza

Autorizzazioni

Per impostazione predefinita, solo i membri del ruolo predefinito del server sysadmin possono eseguire sp_add_alert.

Utilizzo di SQL Server Management Studio

Per creare un avviso utilizzando il livello di gravità

  1. In Esplora oggetti fare clic sul segno più per espandere il server in cui si desidera creare un avviso tramite un livello di gravità.

  2. Fare clic sul segno più per espandere SQL Server Agent.

  3. Fare clic con il pulsante destro del mouse su Avvisi e selezionare Nuovo avviso.

  4. Nella casella Nome della finestra di dialogo Nuovo avviso immettere un nome per l'avviso.

  5. Nell'elenco Tipo selezionare Avviso per evento di SQL Server.

  6. Nell'elenco Nome databasesotto Definizione di avviso di evento selezionare un database per limitare l'avviso a un database specifico.

  7. In Genera avvisi in base afare clic su Gravità , quindi selezionare una gravità specifica che genera l'avviso.

  8. Per limitare l'avviso a una particolare sequenza di caratteri, selezionare la casella di controllo corrispondente a Genera avviso quando il messaggio contiene e immettere una parola chiave o una stringa di caratteri nella casella Testo del messaggio. Il numero massimo di caratteri consentito è 100.

  9. Fare clic su OK.

Utilizzo di Transact-SQL

Per creare un avviso utilizzando il livello di gravità

  1. In Esplora oggetti connettersi a un'istanza del motore di database.

  2. Sulla barra Standard fare clic su Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.

    -- 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
    
    

Per altre informazioni, vedere sp_add_alert.