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).