

# Creación de mensajes de error personalizados de Amazon RDS para SQL Server
<a name="Appendix.SQLServer.CommonDBATasks.CustomMessage"></a>

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](https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-addmessage-transact-sql) 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}};
```