Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como corrigir “nome do perfil não é válido” ao atualizar um perfil do Database Mail no SQL Server (T-SQL)


Se você estiver recebendo um erro "nome do perfil não é válido" ao atualizar um perfil do Database Mail no SQL Server, pode ser que você tenha esquecido de fornecer a ID do perfil.

Ao atualizar um perfil do Database Mail com o sysmail_update_profile_sp procedimento armazenado, você precisará incluir o ID do perfil se desejar atualizar o nome do perfil.

Exemplo


Imagine que executamos o seguinte código para retornar todos os perfis do Database Mail:
EXEC msdb.dbo.sysmail_help_profile_sp;

Resultado:
+--------------+------------------+---------------------------+
| profile_id   | name             | description               |
|--------------+------------------+---------------------------|
| 1            | DB Admin Profile | Profile for admin emails. |
+--------------+------------------+---------------------------+

E então decidimos atualizar o nome deste perfil de “DB Admin Profile” para “New DB Admin Profile”.

Aqui está um exemplo de como não para fazê-lo (ou seja, como produzir o erro).
EXECUTE msdb.dbo.sysmail_update_profile_sp
    @profile_name = 'New DB Admin Profile',
    @description = 'Profile for admin emails.';

Nesse caso, forneço o novo nome e a descrição existente. Mas isso não vai cortá-lo.

Executando isso produzirá o seguinte erro:
Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_profile_sp, Line 42
profile name is not valid

Para fazer isso corretamente, você precisa fornecer o ID do perfil:
EXECUTE msdb.dbo.sysmail_update_profile_sp
    @profile_id = 1,
    @profile_name = 'New DB Admin Profile',
    @description = 'Profile for admin emails.';

Resultado:
Commands completed successfully.

Agora, quando verifico minha lista de perfis, vejo o nome do perfil atualizado.
EXEC msdb.dbo.sysmail_help_profile_sp;

Resultado:
+--------------+----------------------+---------------------------+
| profile_id   | name                 | description               |
|--------------+----------------------+---------------------------|
| 1            | New DB Admin Profile | Profile for admin emails. |
+--------------+----------------------+---------------------------+

Observe que você não precisa fornecer o ID do perfil se estiver apenas atualizando a descrição (desde que forneça o nome do perfil correto).