Amazon RDS for SQL Server에 대한 사용자 지정 오류 메시지 생성
애플리케이션은 RAISERROR를 사용하여 오류 메시지를 발생시킬 수 있도록 sys.messages에 자체 오류 메시지를 정의하는 경우가 많습니다. Amazon RDS DB 인스턴스에서 sys.messages에 사용자 지정 메시지를 추가하려면 rds_create_custom_message 저장 프로시저를 사용합니다. 프로시저는 해당 파라미터를 sp_addmessage에 전달합니다.
rds_create_custom_message 프로시저에는 다음과 같은 파라미터가 있습니다.
| 파라미터 이름 | 데이터 형식 | 기본값 | 필수 | 설명 |
|---|---|---|---|---|
|
int |
NULL |
필수 |
메시지의 ID입니다. 이 값은 50001~2147483647여야 합니다. |
|
smallint |
NULL |
필수 |
메시지의 심각도 수준입니다. 이 값은 1~25이어야 합니다. |
|
nvarchar(255) |
NULL |
필수 |
메시지의 텍스트. 값을 비워둘 수 없습니다. |
|
SYSNAME |
NULL |
선택 사항 |
메시지의 언어입니다. 기본값은 세션의 기본 언어입니다. |
|
varchar(5) |
NULL |
선택 사항 |
메시지가 발생할 때 해당 메시지를 Windows 애플리케이션 로그에 기록할지 여부를 지정합니다. |
|
varchar(7) |
NULL |
선택 사항 |
ID와 언어가 동일한 기존 메시지를 덮어쓰려면 |
이러한 파라미터는 sp_addmessage의 파라미터와 동일한 의미를 갖습니다. 자세한 내용은 Microsoft Learn 웹 사이트의 sp_addmessage
다음 예제에서는 sys.messages에 메시지를 추가하고, 해당 메시지가 발생할 때 Windows 애플리케이션 로그에 로깅합니다. 예제에서 @msgnum 값 50002, @severity 값 16 및 @msgtext 값을 실제 메시지 ID, 심각도 및 텍스트로 각각 바꾸세요.
EXEC msdb.dbo.rds_create_custom_message @msgnum =50002, @severity =16, @msgtext = N'The order could not be processed.', @lang = 'us_english', @with_log = 'TRUE';
다음 예제에서는 기존 메시지의 텍스트를 대체합니다. 예제에서 @msgnum 값 50002, @severity 값 16 및 @msgtext 값을 실제 메시지 ID, 심각도 및 텍스트로 각각 바꾸세요.
EXEC msdb.dbo.rds_create_custom_message @msgnum =50002, @severity =16, @msgtext = N'The order could not be processed. Contact support.', @lang = 'us_english', @with_log = 'TRUE', @replace = 'REPLACE';
메시지가 추가되었는지 확인하려면 sys.messages를 쿼리합니다. 예제에서 message_id 값 50002를 실제 메시지 ID로 바꾸세요.
SELECT * FROM sys.messages WHERE message_id =50002;