Create an Alert Using Severity LevelCreate an Alert Using Severity Level

이 항목에서는 SQL Server Management StudioSQL Server Management Studio 또는 Transact-SQLTransact-SQL을 사용하여 SQL Server 2017SQL Server 2017에서 MicrosoftMicrosoft SQL ServerSQL Server 에이전트 경고를 만들어 특정 심각도의 이벤트가 발생할 때 실행되도록 하는 방법에 대해 설명합니다.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.

항목 내용In This Topic

시작하기 전 주의 사항Before You Begin

제한 사항Limitations and Restrictions

  • SQL Server Management StudioSQL Server Management Studio 는 전체 경고 시스템을 간편하게 그래픽 방식으로 관리할 수 있도록 해 줄 뿐만 아니라 경고 인프라를 구성하는 데 있어서도 권장되는 방법입니다. provides an easy, graphical way to manage the entire alerting system and is the recommended way to configure an alert infrastructure.

  • master 데이터베이스에서 xp_logevent 로 생성된 이벤트가 발생합니다.Events generated with xp_logevent occur in the master database. 따라서 경고에 대한 xp_logevent@database_name 또는 NULL이 아닌 경우 xp_logevent 는 경고를 트리거하지 않습니다.Therefore, xp_logevent does not trigger an alert unless the @database_name for the alert is 'master' or NULL.

  • 19부터 25까지의 심각도를 가진 이벤트는 SQL ServerSQL Server 메시지를 MicrosoftMicrosoft Windows 응용 프로그램 로그에 보내고 경고를 트리거합니다.Severity levels from 19 through 25 send a SQL ServerSQL Server message to the MicrosoftMicrosoft Windows application log and trigger an alert. 19보다 낮은 심각도를 가진 이벤트는 sp_altermessage, RAISERROR WITH LOG 또는 xp_logevent 를 사용하여 강제로 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.

보안Security

PermissionsPermissions

기본적으로 sysadmin 고정 서버 역할의 멤버만 sp_add_alert를 실행할 수 있습니다.By default, only members of the sysadmin fixed server role can execute sp_add_alert.

SQL Server Management Studio 사용Using SQL Server Management Studio

심각도를 사용하여 경고를 만들려면To create an alert using severity level

  1. 개체 탐색기 에서 더하기 기호를 클릭하여 심각도 수준으로 경고를 만들려는 서버를 확장합니다.In Object Explorer, click the plus sign to expand the server where you want to create an alert using severity level.

  2. 더하기 기호를 클릭하여 SQL Server 에이전트를 확장합니다.Click the plus sign to expand SQL Server Agent.

  3. 경고 를 마우스 오른쪽 단추로 클릭하고 새 경고를 선택합니다.Right-click Alerts and select New Alert.

  4. 새 경고 대화 상자의 이름 상자에 이 경고의 이름을 입력합니다.In the New Alert dialog box, in the Name box, enter a name for this alert.

  5. 유형 목록에서 SQL Server 이벤트 경고를 선택합니다.In the Type list, select SQL Server event alert.

  6. 이벤트 경고 정의아래의 데이터베이스 이름 목록에서 데이터베이스를 선택하여 경고를 특정 데이터베이스로 제한합니다.Under Event alert definition, in the Database name list, select a database to restrict the alert to a specific database.

  7. 경고 발생 기준에서 심각도 를 클릭한 다음 경고가 발생할 특정 심각도를 선택합니다.Under Alerts will be raised based on, click Severity and then select the specific severity that will raise the alert.

  8. 메시지에 다음 텍스트가 포함될 때 경고 발생 에 해당하는 확인란을 선택하여 경고를 특정 문자 시퀀스로 제한한 다음 메시지 텍스트에 대한 키워드나 문자열을 입력합니다.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. 최대 문자 수는 100자입니다.The maximum number of characters is 100.

  9. 확인을 클릭합니다.Click OK.

Transact-SQL 사용Using Transact-SQL

심각도를 사용하여 경고를 만들려면To create an alert using severity level

  1. 개체 탐색기에서 데이터베이스 엔진Database Engine인스턴스에 연결합니다.In Object Explorer, connect to an instance of 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.On the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.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  
    

자세한 내용은 sp_add_alert(Transact-SQL)를 참조하세요.For more information, see sp_add_alert (Transact-SQL).