다음을 통해 공유


sp_altermessage(Transact-SQL)

적용 대상: SQL Server

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

Transact-SQL 구문 표기 규칙

구문

sp_altermessage
    [ @message_id = ] message_id
    , [ @parameter = ] N'parameter'
    , [ @parameter_value = ] 'parameter_value'
[ ; ]

인수

[ @message_id = ] message_id

변경할 메시지의 오류 번호입니다 sys.messages. @message_id 기본값이 없는 int입니다.

[ @parameter = ] N'parameter'

메시지가 Windows 애플리케이션 로그에 기록될 것임을 나타내기 위해 @parameter_value 함께 사용됩니다. @parameter 기본값이 없는 sysname입니다.

@parameter 설정 WITH_LOG NULL해야 합니다. @parameter 설정되거나 @parameter_value 값true메시지가 Windows 애플리케이션 로그에 기록됩니다.NULLWITH_LOG @parameter 설정 WITH_LOG 되거나 NULL @parameter_valuefalse경우 메시지는 항상 Windows 애플리케이션 로그에 기록되지는 않지만 오류가 발생한 방식에 따라 작성될 수 있습니다.

메시지가 Windows 애플리케이션 로그에 기록되면 데이터베이스 엔진 오류 로그 파일에도 기록됩니다.

@parameter 지정한 경우 @parameter_value 지정해야 합니다.

[ @parameter_value = ] 'parameter_value'

@parameter 사용하여 오류를 Windows 애플리케이션 로그에 기록해야 함을 나타냅니다. @parameter_value varchar(5)이며 기본값은 없습니다.

  • 이 경우 true오류는 항상 Windows 애플리케이션 로그에 기록됩니다.
  • 이 경우 false오류가 항상 Windows 애플리케이션 로그에 기록되지는 않지만 오류가 발생한 방식에 따라 작성될 수 있습니다.

@parameter_value 지정한 경우 @parameter 지정해야 합니다.

반환 코드 값

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

결과 집합

없음.

설명

이 옵션의 sp_altermessage 효과는 기존 메시지의 로깅 동작을 RAISERROR WITH LOG 변경한다는 점을 sp_altermessage 제외하고 매개 변수의 효과와 WITH_LOG 비슷합니다. 메시지가 변경되면 사용자가 오류를 호출하는 WITH_LOG방법에 관계없이 항상 Windows 애플리케이션 로그에 기록됩니다. 옵션 없이 WITH_LOG 실행되는 경우에도 RAISERROR 오류가 Windows 애플리케이션 로그에 기록됩니다.

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

사용 권한

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

예제

다음 예제에서는 Windows 애플리케이션 로그에 기존 메시지를 55001 씁니다.

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