WMI 이벤트 경고 만들기

이 항목에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server 2012에서 서버 이벤트용 WMI 공급자가 모니터링하여 특정 SQL Server 이벤트가 발생할 때 SQL Server 에이전트 경고를 만드는 방법에 대해 설명합니다.

WMI 공급자를 사용하여 SQL Server 이벤트를 모니터링하는 방법은 서버 이벤트용 WMI 공급자 개념를 참조하십시오. WMI 이벤트 경고 알림을 받는 데 필요한 사용 권한에 대한 자세한 내용은 SQL Server 에이전트 서비스의 계정 선택을 참조하십시오. WQL에 대한 자세한 내용은 서버 이벤트용 WMI 공급자에 WQL 사용를 참조하십시오.

항목 내용

  • 시작하기 전 주의 사항

    제한 사항

    보안

  • 다음을 사용하여 WMI 이벤트 경고를 만듭니다.

    SQL Server Management Studio

    Transact-SQL

시작하기 전 주의 사항

제한 사항

  • SQL Server Management Studio는 전체 경고 시스템을 간편하게 그래픽 방식으로 관리할 수 있도록 해 줄 뿐만 아니라 경고 인프라를 구성하는 데 있어서도 권장되는 방법입니다.

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

  • SQL Server 에이전트를 실행하는 컴퓨터의 WMI 네임스페이스만 지원됩니다.

보안

사용 권한

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

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[맨 위]

SQL Server Management Studio 사용

WMI 이벤트 경고를 만들려면

  1. 개체 탐색기에서 더하기 기호를 클릭하여 WMI 이벤트 경고를 만들려는 서버를 확장합니다.

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

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

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

  5. 사용 확인란을 선택하여 경고를 실행할 수 있도록 합니다. 기본적으로 사용이 선택됩니다.

  6. 유형 목록에서 WMI 이벤트 경고를 선택합니다.

  7. WMI 이벤트 경고 정의네임스페이스 상자에 이 경고를 트리거할 WMI 이벤트를 식별하는 WQL(WMI Query Language) 문에 대한 WMI 네임스페이스를 지정합니다.

  8. 쿼리 상자에 이 경고가 응답하는 이벤트를 식별할 WQL 문을 지정합니다.

  9. 확인을 클릭합니다.

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[맨 위]

Transact-SQL 사용

WMI 이벤트 경고를 만들려면

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

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

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

    -- creates a WMI event alert that retrieves all event properties for any ALTER_TABLE event that occurs on table AdventureWorks2012.Sales.SalesOrderDetail
    -- This example assumes that the message 54001 already exists.
    USE msdb ;
    GO
    
    EXEC dbo.sp_add_alert
        @name = N'Test Alert 2',
        @message_id = 54001
        @notification_message = N'Error 54001 has occurred on the Sales.SalesOrderDetail table on the AdventureWorks2012 database. Please see the following information…',
        @wmi_namespace = '\\.\root\Microsoft\SqlServer\ServerEvents\,
        @wmi_query = N'SELECT * FROM ALTER_TABLE 
    WHERE DatabaseName = 'AdventureWorks2012' AND SchemaName = 'Sales' 
        AND ObjectType='Table' AND ObjectName = 'SalesOrderDetail'';
    GO
    

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

맨 위로 이동 링크와 함께 사용되는 화살표 아이콘[맨 위]