심각도 수준을 사용하여 경고 만들기

적용 대상:SQL ServerAzure SQL Managed Instance

Important

현재 Azure SQL Managed Instance에서는 SQL Server 에이전트 기능이 대부분 지원됩니다. 자세한 내용은 SQL Server와 Azure SQL Managed Instance 간의 T-SQL 차이점을 참조하세요.

이 항목에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server에서 특정 심각도 수준의 이벤트가 발생할 때 발생되는 Microsoft SQL Server 에이전트 경고를 만드는 방법에 대해 설명합니다.

시작하기 전에

제한 사항

  • SQL Server Management Studio에서는 전체 경고 시스템을 그래픽 방식으로 간편하게 관리할 수 있을 뿐만 아니라 인프라도 적합한 방식으로 구성할 수 있습니다.

  • 마스터 데이터베이스에서 xp_logevent로 생성된 이벤트가 발생합니다. 따라서 경고에 대한 @database_name'master' 또는 NULL이 아닌 경우 xp_logevent는 경고를 트리거하지 않습니다.

  • 19부터 25까지의 심각도를 가진 이벤트는 SQL Server 메시지를 Microsoft Windows 애플리케이션 로그에 보내고 경고를 트리거합니다. 심각도 수준이 19 미만인 이벤트는 sp_altermessage, RAISERROR WITH LOG 또는 xp_logevent를 사용하여 Windows 애플리케이션 로그에 강제로 기록하도록 한 경우에만 경고를 트리거합니다.

보안

사용 권한

기본적으로 sysadmin 고정 서버 역할의 멤버만 sp_add_alert를 실행할 수 있습니다.

SQL Server Management Studio 사용

심각도 수준을 사용하여 경고를 만들려면

  1. 개체 탐색기 에서 더하기 기호를 클릭하여 심각도 수준으로 경고를 만들려는 서버를 확장합니다.

  2. 더하기 기호를 클릭하여 SQL Server 에이전트를 확장합니다.

  3. 경고 를 마우스 오른쪽 단추로 클릭하고 새 경고를 선택합니다.

  4. 새 경고 대화 상자의 이름 상자에 이 경고의 이름을 입력합니다.

  5. 유형 목록에서 SQL Server 이벤트 경고를 선택합니다.

  6. 이벤트 경고 정의아래의 데이터베이스 이름 목록에서 데이터베이스를 선택하여 경고를 특정 데이터베이스로 제한합니다.

  7. 경고를 발생시킬 요인에서 심각도를 클릭한 다음 경고를 발생시킬 특정 심각도를 선택합니다.

  8. 알림을 특정 문자 시퀀스로 제한하려면 메시지에 다음이 포함될 때 경고 발생 확인란에 해당하는 상자를 선택한 다음 메시지 텍스트의 키워드 또는 문자열을 입력합니다. 최대 문자 수는 100자입니다.

  9. 확인을 클릭합니다.

Transact-SQL 사용

심각도 수준을 사용하여 경고를 만들려면

  1. 개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.

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

자세한 내용은 sp_add_alert(Transact-SQL)를 참조하세요.