다음을 통해 공유


sp_altermessage (Transact-SQL)

SQL Server 데이터베이스 엔진의 인스턴스에서 사용자 정의 메시지의 상태를 변경합니다. 사용자 정의 메시지는 sys.messages 카탈로그 뷰를 사용하여 볼 수 있습니다.

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

구문

sp_altermessage [ @message_id = ] message_number   ,[ @parameter = ]'write_to_log'
      ,[ @parameter_value = ]'value' 

인수

  • [@message_id = ] message_number
    sys.messages에서 변경할 메시지의 오류 번호입니다. message_number는 int이며 기본값은 없습니다.

  • [ @parameter = ] **'**write_to_log'
    @parameter_value와 함께 사용되어 Microsoft Windows 응용 프로그램 로그에 메시지가 기록될 것임을 나타냅니다. write_to_log는 sysname이며 기본값은 없습니다. write_to_log는 WITH_LOG 또는 NULL로 설정해야 합니다. write_to_log를 WITH_LOG 또는 NULL로 설정하고 @parameter_value 값이 true이면 Windows 응용 프로그램 로그에 메시지가 기록됩니다. write_to_log를 WITH_LOG 또는 NULL로 설정하고 @parameter_value 값이 false인 경우에는 메시지가 항상 Windows 응용 프로그램 로그에 기록되지는 않지만 오류 발생 방식에 따라 기록될 수도 있습니다. write_to_log를 지정하면 @parameter_value에도 값을 지정해야 합니다.

    [!참고]

    Windows 응용 프로그램 로그에 메시지가 기록된 경우에는 데이터베이스 엔진 오류 로그 파일에도 기록됩니다.

  • [ @parameter_value = ]**'**value'
    @parameter와 함께 사용되어 Microsoft Windows 응용 프로그램 로그에 오류가 기록될 것임을 나타냅니다. value는 varchar(5)이며 기본값은 없습니다. true인 경우 오류가 항상 Windows 응용 프로그램 로그에 기록됩니다. false인 경우에는 오류가 항상 Windows 응용 프로그램 로그에 기록되지는 않지만 오류 발생 방식에 따라 기록될 수도 있습니다. value를 지정하면 @parameter에 대한 write_to_log도 지정해야 합니다.

반환 코드 값

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

결과 집합

없음

주의

sp_altermessage가 기존 메시지의 로깅 동작을 변경한다는 점을 제외하고는 WITH_LOG 옵션이 있는 sp_altermessage의 효과는 RAISERROR WITH LOG 매개 변수의 효과와 유사합니다. 메시지가 WITH_LOG로 변경된 경우 사용자가 오류를 발생시킨 방법과 상관 없이 항상 Windows 응용 프로그램 로그에 기록됩니다. RAISERROR가 WITH_LOG 옵션 없이 실행된 경우에도 Windows 응용 프로그램 로그에 오류가 기록됩니다.

sp_altermessage를 사용하여 시스템 메시지를 수정할 수 없습니다.

사용 권한

serveradmin 고정 서버 역할의 멤버 자격이 필요합니다.

다음 예에서는 기존 메시지 55001을 Windows 응용 프로그램 로그에 기록합니다.

sp_altermessage 55001, 'WITH_LOG', 'true';
GO