sp_altermessage(Transact-SQL)
적용 대상: SQL Server
SQL Server 데이터베이스 엔진 인스턴스에서 사용자 정의 또는 시스템 메시지의 상태를 변경합니다. 카탈로그 뷰를 사용하여 sys.messages
사용자 정의 메시지를 볼 수 있습니다.
구문
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 애플리케이션 로그에 기록됩니다.NULL
WITH_LOG
@parameter 설정 WITH_LOG
되거나 NULL
@parameter_value 값인 false
경우 메시지는 항상 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