Criar um perfil do Database Mail
Aplica-se a: SQL Server Instância Gerenciada de SQL do Azure
Use o Assistente para Configuração do Database Mail ou o Transact-SQL para criar perfis públicos e privados do Database Mail. Para obter mais informações sobre perfis de email, consulte Perfil do Database Mail.
Antes de começar
Pré-requisitos
Crie uma ou mais contas do Database Mail para o perfil. Para obter mais informações sobre como criar o Database Mail, veja Criar uma conta do Database Mail.
Segurança
Um perfil público permite a qualquer usuário acessar o banco de dados msdb
para enviar emails usando o perfil. Um perfil particular pode ser usado por um usuário ou por uma função. Conceder a funções o acesso a perfis cria uma arquitetura de mais fácil manutenção. Para enviar emails, você deve ser membro de DatabaseMailUserRole no banco de dados msdb
e ter acesso a pelo menos um perfil do Database Mail.
Permissões
O usuário que cria as contas de perfis e executa procedimentos armazenados deve ser membro da função de servidor fixa sysadmin.
Usar o Assistente de Configuração do Database Mail
Para criar um perfil do Database Mail
No Pesquisador de Objetos, conecte-se à instância do SQL Server a ser usada para configurar o Database Mail e expanda a árvore de servidores.
Expanda o nó Gerenciamento .
Clique duas vezes em Database Mail para abrir o Assistente de Configuração do Database Mail.
Na página Selecionar Tarefa de Configuração, selecione Gerenciar contas e perfis do Database Mail e clique em Avançar.
Na página Gerenciar Perfis e Contas , selecione a opção Criar um novo perfil e selecione Avançar.
Na página Novo Perfil, especifique o nome do perfil, a descrição e adicione as contas a serem incluídas no perfil e selecione Avançar.
Na página Concluir o Assistente , examine as ações a serem executadas e selecione Concluir para concluir a criação do novo perfil.
Para configurar um perfil privado do Database Mail:
Abra o Assistente para Configuração do Database Mail.
Na página Selecionar Tarefa de Configuração, selecione Gerenciar contas e perfis do Database Mail e clique em Avançar.
Na página Gerenciar Perfis e Contas, selecione a opção Gerenciar segurança do perfil e clique em Avançar.
Na guia Perfis Privados, marque a caixa de seleção do perfil que deseja configurar e selecione Avançar.
Na página Concluir o Assistente, examine as ações a serem executadas e selecione Concluir para concluir a configuração do perfil.
Para configurar um perfil público do Database Mail:
Abra o Assistente para Configuração do Database Mail.
Na página Selecionar Tarefa de Configuração, selecione Gerenciar contas e perfis do Database Mail e clique em Avançar.
Na página Gerenciar Perfis e Contas, selecione a opção Gerenciar segurança do perfil e clique em Avançar.
Na guia Perfis Públicos, marque a caixa de seleção do perfil que deseja configurar e selecione Avançar.
Na página Concluir o Assistente, examine as ações a serem executadas e selecione Concluir para concluir a configuração do perfil.
Usar o Transact-SQL
Criar um perfil privado do Database Mail
Conecte-se à instância do SQL Server com o SQL Server Management Studio (SSMS) ou o Azure Data Studio. Abra uma nova janela de consulta.
Para criar um novo perfil, execute o procedimento armazenado no sistema sysmail_add_profile_sp (Transact-SQL), da seguinte forma:
EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = 'Profile Name' , @description = 'Description';
No script anterior, @profile_name é o nome do perfil e @description é a descrição do perfil. Esse parâmetro é opcional.
Para cada conta, execute o procedimento armazenado sysmail_add_profileaccount_sp (Transact-SQL) da seguinte forma:
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = 'Profile Name' , @account_name = 'Name of the account' , @sequence_number = 'sequence number of the account within the profile.';
No script de exemplo anterior, @profile_name é o nome do perfil, @account_name é o nome da conta a ser adicionada ao perfil e @sequence_number determina a ordem na qual as contas são usadas no perfil.
Para cada função de banco de dados ou usuário que enviará email usando este perfil, conceda acesso ao perfil. Para fazer isso, execute o procedimento armazenado sysmail_add_principalprofile_sp (Transact-SQL) da seguinte forma:
EXECUTE msdb.sysmail_add_principalprofile_sp @profile_name = 'Name of the profile' , @principal_name = 'Name of the database user or role' , @is_default = 'Default profile enabled';
No script de exemplo anterior, @profile_name é o nome do perfil, @principal_name é o nome do usuário ou função do banco de dados e @is_default determina se esse perfil é o padrão para o usuário ou função do banco de dados.
O exemplo a seguir cria uma conta do Database Mail, cria um perfil privado do Database Mail e, em seguida, adiciona a conta ao perfil e concede acesso ao perfil à função de banco de dados DBMailUsers no banco de dados msdb
.
-- Create a Database Mail account
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'AdventureWorks Administrator',
@description = 'Mail account for administrative e-mail.',
@email_address = 'dba@Adventure-Works.com',
@replyto_address = 'danw@Adventure-Works.com',
@display_name = 'AdventureWorks Automated Mailer',
@mailserver_name = 'smtp.Adventure-Works.com' ;
-- Create a Database Mail profile
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'AdventureWorks Administrator Profile',
@description = 'Profile used for administrative mail.' ;
-- Add the account to the profile
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'AdventureWorks Administrator Profile',
@account_name = 'AdventureWorks Administrator',
@sequence_number =1 ;
-- Grant access to the profile to the DBMailUsers role
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'AdventureWorks Administrator Profile',
@principal_name = 'ApplicationUser',
@is_default = 1 ;
Criar um perfil público do Database Mail
Conecte-se à instância do SQL Server.
Para criar um novo perfil, execute o procedimento armazenado no sistema sysmail_add_profile_sp (Transact-SQL), da seguinte forma:
EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = 'Profile Name' , @description = 'Description';
No script anterior, @profile_name é o nome do perfil e @description é a descrição do perfil. Esse parâmetro é opcional.
Para cada conta, execute o procedimento armazenado sysmail_add_profileaccount_sp (Transact-SQL) da seguinte forma:
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp @profile_name = 'Name of the profile' , @account_name* = 'Name of the account' , @sequence_number* = 'sequence number of the account within the profile.'
No script de exemplo anterior, @profile_name é o nome do perfil, @account_name é o nome da conta a ser adicionada ao perfil e @sequence_number determina a ordem na qual as contas são usadas no perfil.
Para conceder acesso público, execute o procedimento armazenado sysmail_add_principalprofile_sp (Transact-SQL) da seguinte forma:
EXECUTE msdb.sysmail_add_principalprofile_sp @profile_name = 'Name of the profile' , @principal_name = 'public or 0' , @is_default = 'Default Profile enabled';
No script de exemplo anterior, @profile_name é o nome do perfil e @principal_name indica que se trata de um perfil público; @is_default determina se esse perfil é o padrão para o usuário ou função do banco de dados.
O exemplo a seguir cria uma conta do Database Mail, cria um perfil privado do Database Mail, adiciona a conta ao perfil e concede acesso público ao perfil.
-- Create a Database Mail account
EXECUTE msdb.dbo.sysmail_add_account_sp
@account_name = 'AdventureWorks Public Account',
@description = 'Mail account for use by all database users.',
@email_address = 'db_users@Adventure-Works.com',
@replyto_address = 'danw@Adventure-Works.com',
@display_name = 'AdventureWorks Automated Mailer',
@mailserver_name = 'smtp.Adventure-Works.com' ;
-- Create a Database Mail profile
EXECUTE msdb.dbo.sysmail_add_profile_sp
@profile_name = 'AdventureWorks Public Profile',
@description = 'Profile used for administrative mail.' ;
-- Add the account to the profile
EXECUTE msdb.dbo.sysmail_add_profileaccount_sp
@profile_name = 'AdventureWorks Public Profile',
@account_name = 'AdventureWorks Public Account',
@sequence_number =1 ;
-- Grant access to the profile to all users in the msdb database
EXECUTE msdb.dbo.sysmail_add_principalprofile_sp
@profile_name = 'AdventureWorks Public Profile',
@principal_name = 'public',
@is_default = 1 ;