View a markdown version of this page

Creación de mensajes de error personalizados de Amazon RDS para SQL Server - Amazon Relational Database Service

Creación de mensajes de error personalizados de Amazon RDS para SQL Server

Las aplicaciones suelen definir sus propios mensajes de error en sys.messages para poder generarlos con RAISERROR. En una instancia de base de datos de Amazon RDS, utilice el procedimiento rds_create_custom_message almacenado para agregar un mensaje personalizado a sys.messages. El procedimiento transfiere sus parámetros a sp_addmessage.

El procedimiento rds_create_custom_message tiene los siguientes parámetros.

Nombre del parámetro Tipo de datos Valor predeterminado Obligatorio Descripción

@msgnum

int

NULL

obligatorio

El ID del mensaje. Este valor debe estar entre 50 001 y 2 147 483 647.

@severity

smallint

NULL

obligatorio

El nivel de gravedad del mensaje. Este valor debe estar entre 1 y 25.

@msgtext

nvarchar(255)

NULL

obligatorio

El texto del mensaje. El valor no puede estar vacío.

@lang

SYSNAME

NULL

opcional

El idioma del mensaje. El idioma predeterminado es el idioma predeterminado de la sesión.

@with_log

varchar(5)

NULL

opcional

Especifica si se debe escribir el mensaje en el registro de aplicaciones de Windows cuando se genere el mensaje.

@replace

varchar (7)

NULL

opcional

Especifique si REPLACE desea sobrescribir un mensaje existente que tenga el mismo ID e idioma.

Los parámetros tienen el mismo significado que los parámetros de sp_addmessage. Para obtener más información, consulte sp_addmessage en el sitio web de Microsoft Learn.

En el siguiente ejemplo, se agrega un mensaje sys.messages y se registra en el registro de aplicaciones de Windows cuando se genera. En el ejemplo, sustituya el valor de @msgnum 50 002, el valor de @severity 16 y el valor de @msgtext por su propio ID, gravedad y texto del mensaje.

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';

En el siguiente ejemplo, se reemplaza el texto de un mensaje existente. En el ejemplo, sustituya el valor de @msgnum 50 002, el valor de @severity 16 y el valor de @msgtext por su propio ID, gravedad y texto del mensaje.

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';

Para confirmar que se agregó el mensaje, consulte sys.messages. En el ejemplo, sustituya el valor de message_id 50 002 por el ID del mensaje.

SELECT * FROM sys.messages WHERE message_id = 50002;