Para enviar email usando o Database Mail no SQL Server, um usuário deve ser membro do DatabaseMailUserRole no msdb banco de dados e ter acesso a pelo menos um perfil do Database Mail.
Para conceder a um usuário acesso a um perfil do Database Mail com T-SQL, use o
sysmail_add_principalprofile_sp
procedimento armazenado no msdb
base de dados. Exemplo
Aqui está um exemplo para demonstrar.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Admin Profile',
@principal_name = 'Marge',
@is_default = 1;
Neste caso concedo ao usuário “Marge” acesso ao perfil “DB Admin Profile”.
Isso pressupõe que o perfil e o usuário já existam.
Neste caso, também especifiquei
@is_default = 1
, o que torna este o perfil padrão para o usuário. Especificar IDs de usuário/perfil
Você também pode especificar o ID do usuário 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_principalprofile_sp
@profile_id = 1,
@principal_id = 25,
@is_default = 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_principalprofile_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. Perfis públicos
Você também pode tornar um perfil o perfil público padrão para usuários no msdb base de dados.
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'DB Public Profile',
@principal_name = 'public',
@is_default = 1;
Para tornar um perfil público, especifique um
@principal_id
de 0
ou um @principal_name
de public
. Um perfil público está disponível para todos os usuários no msdb banco de dados (embora os usuários também devam ser membros de DatabaseMailUserRole para executar sp_send_dbmail
). Observe que só pode haver um perfil público padrão.
Configurando o Database Mail
As etapas acima pressupõem que você já criou um perfil do Database Mail e adicionou pelo menos uma conta do Database Mail a esse perfil.
Consulte Como enviar email no SQL Server para obter um exemplo completo de configuração do Database Mail e, em seguida, enviar um email.