문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

sp_add_alert(Transact-SQL)

경고를 작성합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

sp_add_alert [ @name = ] 'name' 
     [ , [ @message_id = ] message_id ] 
     [ , [ @severity = ] severity ] 
     [ , [ @enabled = ] enabled ]
     [ , [ @delay_between_responses = ] delay_between_responses ] 
     [ , [ @notification_message = ] 'notification_message' ] 
     [ , [ @include_event_description_in = ] include_event_description_in ] 
     [ , [ @database_name = ] 'database' ] 
     [ , [ @event_description_keyword = ] 'event_description_keyword_pattern' ] 
     [ , { [ @job_id = ] job_id | [ @job_name = ] 'job_name' } ] 
     [ , [ @raise_snmp_trap = ] raise_snmp_trap ] 
     [ , [ @performance_condition = ] 'performance_condition' ] 
     [ , [ @category_name = ] 'category' ] 
     [ , [ @wmi_namespace = ] 'wmi_namespace' ]
     [ , [ @wmi_query = ] 'wmi_query' ]

[ @name = ] 'name'

경고의 이름입니다. 이름은 경고에 대한 응답으로 메시지가 전달된 전자 메일 또는 호출기에 표시됩니다. 이름은 반드시 고유해야 하며 퍼센트(%) 문자를 포함할 수 있습니다. namesysname이며 기본값은 없습니다.

[ @message_id = ] message_id

경고를 정의하는 메시지 오류 번호입니다. 일반적으로 sysmessages 테이블의 오류 번호와 같습니다. message_idint이며 기본값은 0입니다. severity를 사용하여 경고를 정의하는 경우 message_id0 또는 NULL이어야 합니다.

참고 참고

Microsoft Windows 응용 프로그램 로그에 기록된 sysmessages 오류만 경고가 전달되도록 할 수 있습니다.

[ @severity = ] severity

경고를 정의하는 1에서 25까지의 심각도 수준입니다. sysmessages 테이블에 저장된 지정된 심각도의 SQL Server 메시지가 Microsoft Windows 응용 프로그램 로그로 전달되면 경고가 전달됩니다. severityint이며 기본값은 0입니다. message_id를 사용하여 경고를 정의하는 경우 severity0이어야 합니다.

[ @enabled = ] enabled

경고의 현재 상태를 나타냅니다. enabledtinyint이며 기본값은 1(사용)입니다. 0인 경우에는 경고가 비활성화되어 실행할 수 없습니다.

[ @delay_between_responses = ] delay_between_responses

경고에 대한 응답에 걸리는 대기 시간(초)입니다. delay_between_responsesint이며 기본값은 응답에 걸리는 대기 시간이 없음(각 경고의 발생이 응답을 생성함)을 나타내는 0입니다. 응답은 다음 두 가지 형식 중 한 가지 또는 두 가지 모두를 사용할 수 있습니다.

  • 전자 메일 또는 호출기를 통해 전달된 한 개 이상의 알림

  • 실행할 작업

이 값을 설정함으로써 단기간에 경고가 반복적으로 발생하는 경우, 원하지 않는 전자 메일 메시지가 전달되지 않도록 하는 등의 작업을 할 수 있습니다.

[ @notification_message = ] 'notification_message'

전자 메일 net send 또는 호출기 알림의 일부로 운영자에게 전달되는 선택적 추가 메시지입니다. notification_messagenvarchar(512)이며 기본값은 NULL입니다. notification_message를 지정하면 교정 프로시저와 같은 특별한 메모를 추가하는 데 유용합니다.

[ @include_event_description_in = ] include_event_description_in

SQL Server 오류에 대한 설명을 알림 메시지의 일부로 포함할지 여부를 나타냅니다. include_event_description_intinyint이며 기본값은 5(전자 메일 및 net send)입니다. OR 논리 연산자와 함께 아래 값 중 하나 이상을 사용할 수 있습니다.

중요 정보 중요

Microsoft SQL Server 이후 버전에서는 SQL Server 에이전트에서 호출기 및 net send 옵션이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오.

설명

0(기본값)

없음

1

전자 메일

2

호출기

4

net send

[ @database_name = ] 'database'

오류가 있는 경우 경고가 시작되도록 해 놓은 데이터베이스입니다. database를 지정하지 않으면 오류가 발생한 위치와 관계없이 경고가 발생합니다. databasesysname입니다. 이름을 대괄호([ ])로 묶는 것은 허용되지 않습니다. 기본값은 NULL입니다.

[ @event_description_keyword = ] 'event_description_keyword_pattern'

SQL Server 오류에 대한 설명과 일치해야 하는 문자 시퀀스입니다. Transact-SQL LIKE 식 패턴 일치 문자를 사용할 수 있습니다. event_description_keyword_patternnvarchar(100)이며 기본값은 NULL입니다. 이 매개 변수는 개체 이름(예: %customer_table%)을 필터링하는 데 유용합니다.

[ @job_id = ] job_id

해당 경고에 대한 응답으로 실행할 작업의 작업 ID입니다. job_iduniqueidentifier이며 기본값은 NULL입니다.

[ @job_name = ] 'job_name'

해당 경고에 대한 응답으로 실행할 작업의 이름입니다. job_namesysname이며 기본값은 NULL입니다.

참고 참고

job_id 또는 job_name 중 하나를 지정해야 하며 둘 다를 지정할 수는 없습니다.

[ @raise_snmp_trap = ] raise_snmp_trap

SQL Server 버전 7.0에서는 구현되지 않습니다. raise_snmp_traptinyint이며 기본값은 0입니다.

[ @performance_condition = ] 'performance_condition'

'itemcomparatorvalue' 형식으로 표시되는 값입니다. performance_conditionnvarchar(512)이며 기본값은 NULL이고 다음 요소로 구성됩니다.

형식 요소

설명

Item

성능 개체, 성능 카운터 또는 카운터의 명명된 인스턴스

Comparator

다음 연산자 중 하나: >, < 또는 =

Value

카운터의 숫자 값

[ @category_name = ] 'category'

경고 범주의 이름입니다. categorysysname이며 기본값은 NULL입니다.

[ @wmi_namespace= ] 'wmi_namespace'

이벤트를 쿼리하는 WMI 네임스페이스입니다. wmi_namespacesysname이며 기본값은 NULL입니다. 로컬 서버의 네임스페이스만 지원됩니다.

[ @wmi_query= ] 'wmi_query'

경고에 대한 WMI 이벤트를 지정하는 쿼리입니다. wmi_querynvarchar(512)이며 기본값은 NULL입니다.

0(성공) 또는 1(실패)

sp_add_alertmsdb 데이터베이스에서 실행해야 합니다.

SQL Server 및 SQL Server 응용 프로그램에 의해 생성된 오류 또는 메시지가 Windows 응용 프로그램 로그로 전달되어 경고가 발생하는 상황입니다.

  • 심각도 19 이상의 sys.messages 오류

  • WITH LOG 구문과 함께 호출된 모든 RAISERROR 문

  • sp_altermessage를 사용하여 수정되었거나 생성된 모든 sys.messages 오류

  • xp_logevent를 사용하여 로깅된 모든 이벤트

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

경고가 제대로 작동하지 않는 경우에는 다음 사항을 확인하십시오.

  • SQL Server 에이전트 서비스가 실행 중인지 여부

  • Windows 응용 프로그램 로그에 표시된 이벤트

  • 경고의 설정 여부

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

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

다음 예에서는 시작할 때 Back up the AdventureWorks2012 Database 작업을 실행하는 경고(Test Alert)를 추가합니다.

참고 참고

이 예에서는 메시지 55001 및 Back up the AdventureWorks2012 Database 작업이 이미 있다고 가정합니다. 이 예는 설명을 목적으로 사용한 것입니다.

USE msdb ;
GO

EXEC dbo.sp_add_alert
    @name = N'Test Alert',
    @message_id = 55001, 
   @severity = 0, 
   @notification_message = N'Error 55001 has occurred. The database will be backed up...', 
   @job_name = N'Back up the AdventureWorks2012 Database' ;
GO

커뮤니티 추가 항목

추가
표시: