No SQL Server, o Database Mail usa perfis para enviar o email em vez de contas diretamente.
Portanto, você deve primeiro criar um perfil e criar uma conta e, em seguida, adicionar a conta ao perfil. Você também precisa conceder um usuário no msdb acesso ao banco de dados ao perfil.
Para adicionar uma conta do Database Mail a um perfil com T-SQL, use o
sysmail_add_profileaccount_sp
procedimento armazenado no msdb base de dados. Exemplo
Aqui está um exemplo de como adicionar uma conta do Database Mail a um perfil do Database Mail usando T-SQL.
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'DB Admin Profile',
@account_name = 'DB Admin',
@sequence_number = 1;
Neste caso eu adiciono a conta “DB Admin” ao perfil “DB Admin Profile”.
Isso pressupõe que o perfil e a conta já existam.
Você pode adicionar várias contas a um perfil do Database Mail. O número de sequência determina a ordem em que as contas são usadas no perfil. O Database Mail começa com a conta que possui o número de sequência mais baixo. Se essa conta falhar, a conta com o próximo número de sequência mais alto será usada e assim por diante.
Se existir mais de uma conta com o mesmo número de sequência, o Database Mail usará apenas uma dessas contas para uma determinada mensagem de email.
No entanto, não há garantia de que a mesma conta será usada para mensagens subsequentes. Por exemplo, se duas contas compartilharem um número de sequência 1, você poderá receber alguns e-mails de uma conta e outros da outra.
Especificar IDs de conta/perfil
Você também pode especificar o ID do perfil e/ou o ID da conta em vez de seus nomes.
Portanto, poderíamos alterar o exemplo anterior para algo assim:
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_id = 1,
@account_id = 1,
@sequence_number = 1;
Obviamente, isso pressupõe que esses são os IDs das contas em questão.
Observe que o nome ou o ID devem ser fornecidos.
Além disso, ao fornecer os IDs, eles são fornecidos como int .
Observe que o
sysmail_add_profileaccount_sp
procedimento armazenado está no msdb banco de dados e é de propriedade do dbo esquema. Portanto, você precisará usar a nomenclatura de três partes se executá-la de fora do msdb base de dados.