Create an Alert Using Severity LevelCreate an Alert Using Severity Level

Nel presente argomento viene descritta la procedura di creazione di un avviso MicrosoftMicrosoft SQL ServerSQL Server Agent generato quando si verifica un evento di un determinato livello di gravità in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to create a MicrosoftMicrosoft SQL ServerSQL Server Agent alert that is raised when an event of a specific severity level occurs in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL.

Contenuto dell'argomentoIn This Topic

Prima di iniziareBefore You Begin

Limitazioni e restrizioniLimitations and Restrictions

  • SQL Server Management StudioSQL Server Management Studio include un semplice strumento grafico per la gestione del sistema di avvisi ed è lo strumento consigliato per la configurazione di un'infrastruttura di avvisi. provides an easy, graphical way to manage the entire alerting system and is the recommended way to configure an alert infrastructure.

  • Gli eventi generati con la stored procedure xp_logevent si verificano nel database master.Events generated with xp_logevent occur in the master database. Pertanto, xp_logevent genera un avviso solo se @database_name per l'avviso è 'master' o NULL.Therefore, xp_logevent does not trigger an alert unless the @database_name for the alert is 'master' or NULL.

  • I livelli di gravità da 19 a 25 determinano l'invio di un messaggio di SQL ServerSQL Server al registro applicazioni di MicrosoftMicrosoft Windows e l'attivazione di un avviso.Severity levels from 19 through 25 send a SQL ServerSQL Server message to the MicrosoftMicrosoft Windows application log and trigger an alert. 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.Events with severity levels less than 19 will trigger alerts only if you have used sp_altermessage, RAISERROR WITH LOG, or xp_logevent to force them to be written to the Windows application log.

SecuritySecurity

PermissionsPermissions

Per impostazione predefinita, solo i membri del ruolo predefinito del server sysadmin possono eseguire sp_add_alert.By default, only members of the sysadmin fixed server role can execute sp_add_alert.

Utilizzo di SQL Server Management StudioUsing SQL Server Management Studio

Per creare un avviso utilizzando il livello di gravitàTo create an alert using severity level

  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à.In Object Explorer, click the plus sign to expand the server where you want to create an alert using severity level.

  2. Fare clic sul segno più per espandere SQL Server Agent.Click the plus sign to expand SQL Server Agent.

  3. Fare clic con il pulsante destro del mouse su Avvisi e selezionare Nuovo avviso.Right-click Alerts and select New Alert.

  4. Nella casella Nome della finestra di dialogo Nuovo avviso immettere un nome per l'avviso.In the New Alert dialog box, in the Name box, enter a name for this alert.

  5. Nell'elenco Tipo selezionare Avviso per evento di SQL Server.In the Type list, select SQL Server event alert.

  6. Nell'elenco Nome databasesotto Definizione di avviso di evento selezionare un database per limitare l'avviso a un database specifico.Under Event alert definition, in the Database name list, select a database to restrict the alert to a specific database.

  7. In Genera avvisi in base afare clic su Gravità , quindi selezionare una gravità specifica che genera l'avviso.Under Alerts will be raised based on, click Severity and then select the specific severity that will raise the alert.

  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.Check the box corresponding to Raise alert when message contains check box to restrict the alert to a particular character sequence, and then enter a keyword or character string for the Message text. Il numero massimo di caratteri consentito è 100.The maximum number of characters is 100.

  9. Scegliere OK.Click OK.

Utilizzo di Transact-SQLUsing Transact-SQL

Per creare un avviso utilizzando il livello di gravitàTo create an alert using severity level

  1. In Esplora oggetticonnettersi a un'istanza del Motore di databaseDatabase Engine.In Object Explorer, connect to an instance of Motore di databaseDatabase Engine.

  2. Sulla barra Standard fare clic su Nuova query.On the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute.

    -- adds an alert (Test Alert) that runs the Back up
    -- the AdventureWorks2012 Database job when fired   
    -- assumes that the message 55001 and the Back up
    -- the AdventureWorks2012 Database job already exist.  
    USE msdb ;  
    GO  
    
    EXEC dbo.sp_add_alert  
        @name = N'Test Alert',  
        @message_id = 55001,   
       @severity = 0,   
       @notification_message = N'Error 55001 has occurred. The DB will be backed up...',   
       @job_name = N'Back up the AdventureWorks2012 Database' ;  
    GO  
    

Per altre informazioni, vedere sp_add_alert.For more information, see sp_add_alert (Transact-SQL).