경고

적용 대상:SQL Server

Important

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

이벤트는 SQL Server에서 생성되고 Microsoft Windows 애플리케이션 로그에 입력됩니다. SQL Server 에이전트에서 애플리케이션 로그를 판독하고 기록된 이벤트와 사용자가 정의한 경고를 비교합니다. SQL Server 에이전트 일치 항목을 찾으면 이벤트에 대한 자동 응답인 경고가 발생합니다. SQL Server 에이전트는 SQL Server 이벤트를 모니터링할 수 있을 뿐만 아니라 성능 조건 및 WMI(Windows Management Instrumentation) 이벤트도 모니터링할 수 있습니다.

경고를 정의하려면 다음을 지정합니다.

  • 경고의 명칭.

  • 경고를 트리거하는 이벤트 또는 성능 조건.

  • SQL Server 에이전트가 이벤트 또는 성능 조건에 대한 응답으로 수행하는 작업.

경고 명명

모든 경고에는 이름이 있어야 합니다. 경고 이름은 SQL Server 인스턴스 내에서 고유해야 하며 128 자를 초과할 수 없습니다.

이벤트 유형 선택

경고는 특정 유형의 이벤트에 응답합니다. 다음은 경고가 발생되는 이벤트 유형입니다.

  • SQL Server 이벤트

  • SQL Server 성능 조건

  • WMI 이벤트

이벤트의 형식은 정확한 이벤트를 지정하는 데 사용하는 매개 변수를 결정합니다.

SQL Server 이벤트 지정

하나 이상의 이벤트에 대응해 발생하는 경고를 지정할 수 있습니다. 다음 매개 변수를 사용하여 경고를 트리거하는 이벤트를 지정합니다.

  • 오류 번호

    SQL Server 에이전트는 특정 오류가 발생할 때 경고를 발생시킵니다. 예를 들어 DBCC(Database Console Command)를 호출하려는 무단 시도에 대응하도록 오류 번호 2571을 지정할 수 있습니다.

  • 심각도 수준

    특정 심각도에 이르는 오류가 발생하면 SQL Server 에이전트에서 경고를 표시합니다. 예를 들어 Transact-SQL 문의 구문 오류에 대응하기 위해 심각도 수준을 15로 지정할 수 있습니다.

  • 데이터베이스

    SQL Server 에이전트는 특정 데이터베이스에 이벤트가 발생할 때만 경고를 발생시킵니다. 이 옵션은 오류 번호 또는 심각도 수준 외에 적용됩니다. 예를 들어 프로덕션에 사용되는 데이터베이스와 보고에 사용되는 데이터베이스가 하나씩 인스턴스에 있는 경우 프로덕션 데이터베이스의 구문 오류에만 응답하도록 경고를 정의할 수 있습니다.

  • 이벤트 텍스트

    SQL Server 에이전트는 지정된 이벤트의 이벤트 메시지에 특정 텍스트 문자열이 포함되어 있을 때 경고를 발생시킵니다. 예를 들어, 특정 테이블 또는 특정 제약 조건의 이름이 포함된 메시지에 응답하는 경고를 정의할 수 있습니다.

성능 조건 선택

특정 성능 조건에 응답하여 경고가 발생하도록 지정할 수 있습니다. 이 경우 모니터링할 성능 카운터, 경고에 대한 임계값 및 경고가 발생할 경우 표시해야 하는 카운터 동작을 지정합니다. 성능 조건을 설정하려면 새 경고의 SQL Server 에이전트 일반 페이지 또는 경고 속성 대화 상자에서 다음 항목을 정의해야 합니다.

  • 개체

    개체는 모니터링할 성능 영역입니다.

  • 카운터

    카운터는 모니터링할 영역의 특성입니다.

  • 인스턴스

    SQL Server 인스턴스는 모니터링할 특성의 특정 인스턴스(있는 경우)를 정의합니다.

  • 경고 발생 카운터

    경고의 임계값 및 경고를 생성하는 동작입니다. 임계값은 숫자입니다. 동작은 값에 지정된 숫자 아래로 떨어지거나, 같게 되거나, 위로 올라가는 것 중 하나입니다. 은 성능 조건 카운터를 설명하는 숫자입니다. 예를 들어 잠금 대기 시간이 30분을 초과할 때 성능 개체 SQLServer:Locks에 대해 경고가 발생하도록 설정하려면 위쪽 올리기를 선택하고 값으로 30을 지정합니다.

    또 다른 예로, tempdb의 여유 공간이 1000KB 미만으로 떨어질 때 성능 개체 SQLServer:Transactions에 대해 경고가 발생하도록 지정할 수 있습니다. 이렇게 설정하려면 Free space in tempdb (KB)카운터, 미만1000을 선택합니다.

    참고 항목

    성능 데이터는 주기적으로 샘플링되므로 임계값에 도달하는 것과 성능 경고 발생 사이에 약간의 지연(몇 초)이 발생할 수 있습니다.

    참고 항목

    서버 이름을 저장하는 이벤트 로그 변수는 32자로 제한됩니다. 따라서 호스트 이름과 인스턴스 이름의 결합된 크기가 32자보다 크면 다음 오류가 발생할 수 있습니다.

Warning,[466] Failed to copy server name LONGNAMESQLSERV\LONGINSTANCENAME while generating performance counter alerts.

WMI 이벤트 선택

특정 WMI 이벤트에 대한 응답으로 경고가 발생하도록 지정할 수 있습니다. WMI 이벤트를 선택하려면 새 경고의 SQL Server 에이전트 일반 페이지 또는 경고 속성 대화 상자에서 다음을 정의해야 합니다.

  • 네임스페이스

    SQL Server 에이전트는 이벤트에 대해 쿼리하도록 제공되는 WMI 네임스페이스에 WMI 클라이언트로 등록됩니다.

  • 쿼리

    SQL Server 에이전트는 제공된 WQL(Windows Management Instrumentation Query Language) 문을 사용하여 특정 이벤트를 식별할 수 있습니다.

다음은 일반적인 작업에 대한 링크입니다.

메시지 번호를 기반으로 경고를 만들려면

심각도 수준을 기반으로 경고를 만들려면

WMI 이벤트를 기반으로 경고를 만들려면

경고에 대한 응답을 정의하려면

사용자 정의 이벤트 오류 메시지를 만들려면

사용자 정의 이벤트 오류 메시지를 수정하려면

사용자 정의 이벤트 오류 메시지를 삭제하려면

경고를 비활성화하거나 다시 활성화하려면

참고 항목

sp_update_alert(Transact-SQL)