Dela via


Skapa en databaspostprofil

gäller för:SQL Server

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 Konfigurationsobjekt för databaspost.

Tips/Råd

Det är inte nödvändigt att skapa en databaspostprofil i Azure SQL Managed Instance, som redan har konfigurerats för att söka efter en profil med namnet AzureManagedInstance_dbmail_profile. Mer information och ett exempelskript finns i AZURE SQL Managed Instance SQL Agent-jobbmeddelanden.

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 för att skapa en databaspostprofil

Följande steg använder SQL Server Management Studio (SSMS). Ladda ned den senaste versionen av SSMS på aka.ms/ssms.

  1. I Object Explorer ansluter du till SQL Server-instansen där du vill konfigurera Database Mail och expanderar serverträdet.

  2. Expandera noden Management

  3. Dubbelklicka på Database Mail för att öppna konfigurationsguiden för databaspost.

  4. På sidan Välj konfigurationsuppgift väljer du alternativet Hantera databas-e-postkonton och profiler och väljer Nästa.

  5. På sidan Hantera profiler och konton, välj skapa en ny profil och välj Nästa.

  6. På sidan Ny profil anger du profilnamnet, Beskrivning och lägger till konton som ska ingå i profilen och väljer Nästa.

  7. 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

  1. Öppna konfigurationsguiden för databaspost.

  2. På sidan Välj konfigurationsuppgift väljer du alternativet Hantera databas-e-postkonton och profiler och väljer Nästa.

  3. På sidan Hantera profiler och konton väljer du alternativet Hantera profilsäkerhet och väljer Nästa.

  4. På fliken privata profiler markerar du kryssrutan för den profil som du vill konfigurera och väljer Nästa.

  5. 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 databaspostprofil

  1. Öppna konfigurationsguiden för databaspost.

  2. På sidan Välj konfigurationsuppgift väljer du alternativet Hantera databas-e-postkonton och profiler och väljer Nästa.

  3. På sidan Hantera profiler och konton väljer du alternativet Hantera profilsäkerhet och väljer Nästa.

  4. På fliken offentliga profiler markerar du kryssrutan för den profil som du vill konfigurera och väljer Nästa.

  5. 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 för att skapa en databaspostprofil

Om du vill köra T-SQL-kommandon på SQL Server-instansen använder du SQL Server Management Studio (SSMS),MSSQL-tillägget för Visual Studio Code, sqlcmd eller ditt favoritverktyg för T-SQL-frågor.

Skapa en privat databas-e-postprofil med T-SQL

  1. Anslut till SQL Server-instansen. Öppna ett nytt frågefönster.

  2. Om du vill skapa en ny profil kör du den system lagrade proceduren sysmail_add_profile_sp:

    EXECUTE msdb.dbo.sysmail_add_profile_sp
      @profile_name = 'Profile Name'  
    , @description = 'Description';
    

    I föregående skript @profile_name är namnet på profilen och @description är en valfri vänlig beskrivning av profilen.

  3. Kör den system lagrade proceduren för varje konto sysmail_add_profileaccount_sp:

    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 @profile_name är 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.

  4. 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 system lagrade proceduren sysmail_add_principalprofile_sp:

    EXECUTE msdb.dbo.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 @profile_name är 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 med T-SQL

  1. Anslut till SQL Server-instansen. Öppna ett nytt frågefönster.

  2. Om du vill skapa en ny profil kör du den system lagrade proceduren sysmail_add_profile_sp (Transact-SQL):

    EXECUTE msdb.dbo.sysmail_add_profile_sp
      @profile_name = 'Profile Name'  
    , @description = 'Description';
    

    I föregående skript @profile_name är namnet på profilen och @description är en valfri beskrivning av profilen.

  3. Kör den lagrade proceduren för varje konto sysmail_add_profileaccount_sp (Transact-SQL):

    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 @profile_name är 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.

  4. Om du vill bevilja offentlig åtkomst kör du den lagrade proceduren sysmail_add_principalprofile_sp (Transact-SQL):

    EXECUTE msdb.dbo.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 @profile_name är namnet på profilen och @principal_name för att ange att det här är en offentlig profil @is_default avgör du 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 ;