

# Criação de mensagens de erro personalizadas para o Amazon RDS para SQL Server
<a name="Appendix.SQLServer.CommonDBATasks.CustomMessage"></a>

As aplicações geralmente definem suas próprias mensagens de erro em `sys.messages` para que possam gerá-las com `RAISERROR`. Em uma instância de banco de dados do Amazon RDS, para adicionar uma mensagem personalizada a `sys.messages`, use o procedimento armazenado `rds_create_custom_message`. O procedimento passa os parâmetros para `sp_addmessage`.

O procedimento `rds_create_custom_message` tem os seguintes parâmetros.



| Nome do parâmetro | Tipo de dados | Padrão | Obrigatório | Descrição | 
| --- | --- | --- | --- | --- | 
| `@msgnum` | int | NULL | obrigatório | O ID da mensagem. O valor deve estar entre 50001 e 2147483647. | 
| `@severity` | smallint | NULL | obrigatório | O nível de gravidade da mensagem. O valor deve estar entre 1 e 25. | 
| `@msgtext` | nvarchar(255) | NULL | obrigatório | O texto da mensagem. O valor não pode estar vazio. | 
| `@lang` | SYSNAME | NULL | optional | O idioma da mensagem. O padrão é o idioma padrão da sessão. | 
| `@with_log` | varchar(5) | NULL | optional | Especifica se a mensagem deve ser gravada no log de aplicativos do Windows quando for gerada. | 
| `@replace` | varchar(7) | NULL | optional | Especifique `REPLACE` para substituir uma mensagem existente com o mesmo ID e idioma. | 

Os parâmetros têm o mesmo significado que os parâmetros de `sp_addmessage`. Consulte mais informações em [sp\_addmessage](https://learn.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-addmessage-transact-sql) no site da Microsoft Learn.

O exemplo a seguir adiciona uma mensagem a `sys.messages` e a registra no log de aplicativos do Windows quando ela é gerada. No exemplo, substitua o valor {{50002}} de `@msgnum`, o valor {{16}} de `@severity` e o valor de `@msgtext` pelo seu próprio ID de mensagem, nível de gravidade e texto.

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

O exemplo a seguir substitui o texto de uma mensagem existente. No exemplo, substitua o valor {{50002}} de `@msgnum`, o valor {{16}} de `@severity` e o valor de `@msgtext` pelo seu próprio ID de mensagem, nível de gravidade e texto.

```
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 a mensagem foi adicionada, consulte `sys.messages`. No exemplo, substitua o valor {{50002}} de `message_id` pelo ID da sua mensagem.

```
SELECT * FROM sys.messages WHERE message_id = {{50002}};
```