Share via


WMI 이벤트 경고 만들기

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

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

항목 내용

시작하기 전에

제한 사항

  • 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)를 참조하세요.