WMI 이벤트 경고 만들기
적용 대상:SQL Server
Azure SQL Managed Instance
중요하다
Azure SQL Managed Instance 에서는 대부분의 SQL Server 에이전트 기능이 지원되지만, 일부는 지원되지 않습니다. 자세한 내용은 Azure SQL Managed Instance T-SQL 차이점 및 SQL Server을 확인하십시오.
이 문서에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server의 서버 이벤트용 WMI 공급자가 모니터링하는 특정 SQL Server 이벤트가 발생할 때 발생하는 SQL Server 에이전트 경고에 대해 설명합니다.
WMI 공급자를 사용하여 SQL Server 이벤트를 모니터링하는 방법에 대한 자세한 내용은 WMI Provider for Server Events 클래스 및 속성참조하세요. WMI 이벤트 경고 알림을 받는 데 필요한 권한에 대한 자세한 내용은 SQL Server 에이전트 서비스대한 계정 선택을 참조하세요. WQL에 대한 자세한 내용은 서버 이벤트를 위한 WMI 공급자와 함께 WQL 사용하기 를 참조하세요.
제한 사항
SQL Server Management Studio는 전체 경고 시스템을 관리하는 쉽고 그래픽적인 방법을 제공하며 경고 인프라를 구성하는 데 권장되는 방법입니다.
xp_logevent
사용하여 생성된 이벤트는master
데이터베이스에서 발생합니다. 따라서 경고에 대한@database_name
'master'
또는 NULL이 아니면xp_logevent
경고를 트리거하지 않습니다.SQL Server 에이전트를 실행하는 컴퓨터의 WMI 네임스페이스만 지원됩니다.
권한
기본적으로 sysadmin 고정 서버 역할의 멤버만 sp_add_alert
실행할 수 있습니다.
SQL Server Management Studio 사용
개체 탐색기에서 더하기 기호를 선택하여 WMI 이벤트 경고를 만들 서버를 확장합니다.
더하기 기호를 선택하여 SQL Server 에이전트확장합니다.
경고을 마우스 오른쪽 단추로 클릭하고 새 경고을 선택합니다.
새 경고 대화 상자의 이름 상자에 이 경고의 이름을 입력합니다.
확인란을 선택하여 경고를 실행 가능하도록 설정합니다. 기본적으로 사용 가능이 선택된 상태입니다.
유형 목록에서 WMI 이벤트 경고를 선택합니다.
WMI 이벤트 경고 정의에서, 네임스페이스 상자에 이 경고를 트리거할 WMI 이벤트를 식별하는 WMI 쿼리 언어(WQL) 문의 WMI 네임스페이스를 지정합니다.
쿼리 상자에서 이 경고가 응답하는 이벤트를 식별하는 WQL 문을 지정합니다.
확인선택합니다.
Transact-SQL 사용
개체 탐색기데이터베이스 엔진 인스턴스에 연결합니다.
표준 표시줄에서 새 쿼리을 선택합니다.
다음 예제를 복사하여 쿼리 창에 붙여넣고 실행합니다.
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 AdventureWorks2022 database.', @wmi_namespace = '\.\root\Microsoft\SqlServer\ServerEvents', @wmi_query = N'SELECT * FROM ALTER_TABLE WHERE DatabaseName = ''AdventureWorks2022'' AND SchemaName = ''Sales'' AND ObjectType=''Table'' AND ObjectName = ''SalesOrderDetail'''; GO