Skapa en databaspostprofil
gäller för:SQL Server
Azure SQL Managed Instance
Använd antingen konfigurationsguiden för Database Mail eller Transact-SQL för att skapa offentliga och privata profiler för Database Mail. Mer information om e-postprofiler finns i Database Mail Profile.
Innan du börjar
Förutsättningar
Skapa ett eller flera Databas-e-postkonton för profilen. Mer information om hur du skapar Database Mail-konton finns i Skapa ett databas-e-postkonto.
Säkerhet
Med en offentlig profil kan alla användare med åtkomst till msdb
-databasen skicka e-post med den profilen. En privat profil kan användas av en användare eller av en roll. Att ge roller åtkomst till profiler skapar en enklare arkitektur. Om du vill skicka e-post måste du vara medlem i DatabaseMailUserRole- i msdb
-databasen och ha åtkomst till minst en Database Mail-profil.
Behörigheter
Användaren som skapar profilkontona och kör lagrade procedurer bör vara medlem i den fasta sysadmin-serverrollen.
Använd konfigurationsguiden för databaspost
Skapa en databaspostprofil
I Object Explorer ansluter du till den SQL Server-instans som du vill konfigurera Database Mail on och expanderar serverträdet.
Expandera noden Management
Dubbelklicka på Database Mail för att öppna konfigurationsguiden för databaspost.
På sidan Välj konfigurationsuppgift väljer du alternativet Hantera databas-e-postkonton och profiler och väljer Nästa.
På sidan Hantera profiler och konton, välj skapa en ny profil och välj Nästa.
På sidan Ny profil anger du profilnamnet, Beskrivning och lägger till konton som ska ingå i profilen och väljer Nästa.
På sidan Slutför guiden granskar du de åtgärder som ska utföras och väljer Slutför för att slutföra skapandet av den nya profilen.
Så här konfigurerar du en privat databaspostprofil:
Öppna konfigurationsguiden för databaspost.
På sidan Välj konfigurationsuppgift väljer du alternativet Hantera databas-e-postkonton och profiler och väljer Nästa.
På sidan Hantera profiler och konton väljer du alternativet Hantera profilsäkerhet och väljer Nästa.
På fliken privata profiler markerar du kryssrutan för den profil som du vill konfigurera och väljer Nästa.
På sidan Slutför guiden granskar du de åtgärder som ska utföras och väljer Slutför för att slutföra konfigurationen av profilen.
Så här konfigurerar du en offentlig Database Mail-profil:
Öppna konfigurationsguiden för databaspost.
På sidan Välj konfigurationsuppgift väljer du alternativet Hantera databas-e-postkonton och profiler och väljer Nästa.
På sidan Hantera profiler och konton väljer du alternativet Hantera profilsäkerhet och väljer Nästa.
På fliken offentliga profiler markerar du kryssrutan för den profil som du vill konfigurera och väljer Nästa.
På sidan Slutför guiden granskar du de åtgärder som ska utföras och väljer Slutför för att slutföra konfigurationen av profilen.
Använd Transact-SQL
Skapa en privat profil för e-post i databasen
Anslut till SQL Server-instansen med SQL Server Management Studio (SSMS) eller Azure Data Studio. Öppna ett nytt frågefönster.
Om du vill skapa en ny profil kör du den system lagrade proceduren sysmail_add_profile_sp (Transact-SQL) på följande sätt:
EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = 'Profile Name' , @description = 'Description';
I föregående skript är @profile_name namnet på profilen och @description är profilens beskrivning. Den här parametern är valfri.
Kör den lagrade proceduren för varje konto sysmail_add_profileaccount_sp (Transact-SQL) på följande sätt:
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.';
I föregående exempelskript är @profile_name namnet på profilen och @account_name är namnet på kontot som ska läggas till i profilen, @sequence_number avgör i vilken ordning kontona används i profilen.
Bevilja åtkomst till profilen för varje databasroll eller användare som ska skicka e-post med den här profilen. Det gör du genom att köra den lagrade proceduren sysmail_add_principalprofile_sp (Transact-SQL) på följande sätt:
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';
I föregående exempelskript är @profile_name namnet på profilen, @principal_name är namnet på databasanvändaren eller rollen och @is_default avgör om den här profilen är standard för databasanvändaren eller rollen.
I följande exempel skapas ett Database Mail-konto, en privat databasprofil skapas, kontot läggs till i profilen och profilen tilldelas åtkomst till DBMailUsers databasroll i msdb
-databasen.
-- 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 ;
Skapa en offentlig profil för databaspost
Anslut till SQL Server-instansen.
Om du vill skapa en ny profil kör du den system lagrade proceduren sysmail_add_profile_sp (Transact-SQL) på följande sätt:
EXECUTE msdb.dbo.sysmail_add_profile_sp @profile_name = 'Profile Name' , @description = 'Description';
I föregående skript är @profile_name namnet på profilen och @description är profilens beskrivning. Den här parametern är valfri.
Kör den lagrade proceduren för varje konto sysmail_add_profileaccount_sp (Transact-SQL) på följande sätt:
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.'
I föregående exempelskript är @profile_name namnet på profilen och @account_name är namnet på kontot som ska läggas till i profilen, @sequence_number avgör i vilken ordning kontona används i profilen.
Om du vill bevilja offentlig åtkomst kör du den lagrade proceduren sysmail_add_principalprofile_sp (Transact-SQL) på följande sätt:
EXECUTE msdb.sysmail_add_principalprofile_sp @profile_name = 'Name of the profile' , @principal_name = 'public or 0' , @is_default = 'Default Profile enabled';
I föregående exempelskript är @profile_name namnet på profilen och @principal_name för att ange att detta är en offentlig profil avgör @is_default om den här profilen är standard för databasanvändaren eller rollen.
I följande exempel skapas ett Database Mail-konto, en privat Profil för Database Mail skapas, kontot läggs sedan till i profilen och offentlig åtkomst till profilen ges.
-- 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 ;