Dela via


Skapa en databaspostprofil

gäller för:SQL ServerAzure 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 ;  

Nästa steg