Muito provavelmente, para utilizar o Database Mail dentro do SQL Server você utilizou a interface gráfica…
Criou o profile, a conta, ativou como público (né, fala a verdade…) e manteve as opções padrão.
Os e-mails estão sendo enviados normalmente, até que surge a necessidade de criar um outro profile. Como o nome ficou parecido, você resolve ir nas configurações do database mail e mudar o nome do profile anterior:
Botão direito em Database Mail -> Configure Database Mail -> View, Change, or delete an existing Profile, seleciona o profile desejado e… fuéfuéfué… Como altera o nome?
Pois é, não dá…. Não pela interface gráfica!!
Existe uma procedure para fazer a mágica (na base msdb): sysmail_update_profile_sp. Veja os três parâmetros:
1 2 3 4 |
msdb.dbo.sysmail_update_profile_sp @profile_id = 1, @profile_name = 'Profile Com Novo Nome', @description = 'Profile público para envio de e-mails via Database Mail' |
Para alterar o nome, o parâmetro @profile_id deve ser informado. Caso não seja, apenas a descrição é alterada.
E como eu sei qual o profile_id? Simples, vai na interface do Database Mail que estava aberta lá em cima e… feche, porque também não dá. Consulte essa tabela:
1 |
select * from msdb.dbo.sysmail_profile |
O mesmo acontece com as contas de e-mails vinculadas ao profile, mas a procedure se chama: sysmail_update_account_sp e a tabela para buscar o @account_id é a sysmail_account.
[]’s!