Erstellen eines Profils für Datenbank-E-Mail

Gilt für:SQL ServerAzure SQL Managed Instance

Verwenden Sie entweder den Datenbank-E-Mail-Konfigurations-Assistenten oder Transact-SQL, um öffentliche und private Datenbankprofile zu erstellen. Weitere Informationen zu E-Mail-Profilen finden Sie unter Datenbank-E-Mail-Profil.

Vorbereitungen

Voraussetzungen

Erstellen Sie mindestens ein Datenbank-E-Mail-Konto für das Profil. Weitere Informationen zum Erstellen von Datenbank-E-Mail-Konten finden Sie unter Erstellen eines Kontos für Datenbank-E-Mail.

Sicherheit

Ein öffentliches Profil ermöglicht jedem Benutzer mit Zugriff auf die msdb Datenbank das Senden von E-Mails mithilfe dieses Profils. Ein privates Profil kann von einem Benutzer oder einer Rolle verwendet werden. Durch Gewähren des Rollenzugriffs auf Profile wird eine leichter zu verwaltende Architektur geschaffen. Zum Senden von E-Mails müssen Sie Mitglied der DatabaseMailUserRole in der msdb Datenbank sein und zugriff auf mindestens ein Datenbank-E-Mail-Profil haben.

Berechtigungen

Der Benutzer, der die Profilkonten erstellt und gespeicherte Prozeduren ausführt, sollte Mitglied der festen Serverrolle "sysadmin" sein.

Verwenden des Datenbank-E-Mail-Konfigurations-Assistenten

So erstellen Sie ein Profil für Datenbank-E-Mail

  • Stellen Sie im Objekt-Explorer eine Verbindung mit der SQL Server-Instanz her, auf der Sie Datenbank-E-Mail konfigurieren möchten, und erweitern Sie die Serverstruktur.

  • Erweitern Sie den Knoten Verwaltung .

  • Doppelklicken Sie auf Datenbank-E-Mail, um den Datenbank-E-Mail-Konfigurations-Assistenten zu öffnen.

  • Wählen Sie auf der Seite "Konfigurationsaufgabe auswählen" die Option "Datenbank-E-Mail-Konten und -Profile verwalten" und dann "Weiter" aus.

  • Wählen Sie auf der Seite "Profile und Konten verwalten" die Option "Neues Profil erstellen" und dann "Weiter" aus.

  • Geben Sie auf der Seite "Neues Profil" den Profilnamen, die Beschreibung und das Hinzufügen von Konten an, die in das Profil aufgenommen werden sollen, und wählen Sie "Weiter" aus.

  • Überprüfen Sie auf der Seite "Assistent abschließen" die auszuführenden Aktionen, und wählen Sie "Fertig stellen " aus, um das Erstellen des neuen Profils abzuschließen.

  • So konfigurieren Sie ein privates Profil für Datenbank-E-Mail:

    • Öffnen Sie den Assistenten zum Konfigurieren von Datenbank-E-Mail.

    • Wählen Sie auf der Seite "Konfigurationsaufgabe auswählen" die Option "Datenbank-E-Mail-Konten und -Profile verwalten" und dann "Weiter" aus.

    • Wählen Sie auf der Seite "Profile und Konten verwalten" die Option "Profilsicherheit verwalten" und dann "Weiter" aus.

    • Aktivieren Sie auf der Registerkarte "Private Profile" das Kontrollkästchen für das Profil, das Sie konfigurieren möchten, und wählen Sie "Weiter" aus.

    • Überprüfen Sie auf der Seite "Assistent abschließen" die auszuführenden Aktionen, und wählen Sie "Fertig stellen " aus, um die Konfiguration des Profils abzuschließen.

  • So konfigurieren Sie ein öffentliches Profil für Datenbank-E-Mail:

    • Öffnen Sie den Assistenten zum Konfigurieren von Datenbank-E-Mail.

    • Wählen Sie auf der Seite "Konfigurationsaufgabe auswählen" die Option "Datenbank-E-Mail-Konten und -Profile verwalten" und dann "Weiter" aus.

    • Wählen Sie auf der Seite "Profile und Konten verwalten" die Option "Profilsicherheit verwalten" und dann "Weiter" aus.

    • Aktivieren Sie auf der Registerkarte "Öffentliche Profile" das Kontrollkästchen für das Profil, das Sie konfigurieren möchten, und wählen Sie "Weiter" aus.

    • Überprüfen Sie auf der Seite "Assistent abschließen" die auszuführenden Aktionen, und wählen Sie "Fertig stellen " aus, um die Konfiguration des Profils abzuschließen.

Verwenden von Transact-SQL

Erstellen eines privaten Datenbankprofils für E-Mail

  • Stellen Sie eine Verbindung mit der SQL Server-Instanz mit SQL Server Management Studio (SSMS) oder Azure Data Studio her. Öffnen Sie ein neues Abfragefenster.

  • Führen Sie zum Erstellen eines neuen Profils die gespeicherte Systemprozedur sysmail_add_profile_sp (Transact-SQL) wie folgt aus:

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

    Im vorherigen Skript ist @profile_name der Name des Profils, und @description ist die Beschreibung des Profils. Dieser Parameter ist optional.

  • Führen Sie für jedes Konto die gespeicherte Prozedur sysmail_add_profileaccount_sp (Transact-SQL) wie folgt aus:

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

    Im vorherigen Beispielskript ist @profile_name der Name des Profils und @account_name der Name des Kontos, das dem Profil hinzugefügt werden soll, @sequence_number bestimmt die Reihenfolge, in der die Konten im Profil verwendet werden.

  • Erteilen Sie für jede Datenbankrolle oder jeden Benutzer, der E-Mails über dieses Profil sendet, Zugriff auf das Profil. Führen Sie dazu die gespeicherte Prozedur sysmail_add_principalprofile_sp (Transact-SQL) wie folgt aus:

    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';
    

    Im vorherigen Beispielskript ist @profile_name der Name des Profils, @principal_name der Name des Datenbankbenutzers oder der Datenbankrolle und @is_default bestimmt, ob dieses Profil der Standard für den Datenbankbenutzer oder die Datenbankrolle ist.

Im folgenden Beispiel wird ein Datenbank-E-Mail-Konto erstellt, ein privates Datenbank-E-Mail-Profil erstellt. Anschließend wird das Konto dem Profil hinzugefügt und gewährt zugriff auf das Profil der Datenbankrolle DBMailUsers in der msdb Datenbank.

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

Erstellen eines öffentlichen Datenbankprofils für E-Mail

  • Stellen Sie eine Verbindung mit der SQL Server-Instanz her.

  • Führen Sie zum Erstellen eines neuen Profils die gespeicherte Systemprozedur sysmail_add_profile_sp (Transact-SQL) wie folgt aus:

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

    Im vorherigen Skript ist @profile_name der Name des Profils, und @description ist die Beschreibung des Profils. Dieser Parameter ist optional.

  • Führen Sie für jedes Konto die gespeicherte Prozedur sysmail_add_profileaccount_sp (Transact-SQL) wie folgt aus:

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

    Im vorherigen Beispielskript ist @profile_name der Name des Profils und @account_name der Name des Kontos, das dem Profil hinzugefügt werden soll, @sequence_number bestimmt die Reihenfolge, in der die Konten im Profil verwendet werden.

  • Führen Sie zum Gewähren des öffentlichen Zugriffs die gespeicherte Prozedur sysmail_add_principalprofile_sp (Transact-SQL) wie folgt aus:

    EXECUTE msdb.sysmail_add_principalprofile_sp
      @profile_name = 'Name of the profile' 
    , @principal_name = 'public or 0'  
    , @is_default = 'Default Profile enabled';
    

    Im vorherigen Beispielskript ist @profile_name der Name des Profils, und @principal_name anzugeben, dass es sich um ein öffentliches Profil handelt, @is_default bestimmt, ob dieses Profil der Standard für den Datenbankbenutzer oder die Datenbankrolle ist.

Im folgenden Beispiel werden ein Datenbank-E-Mail-Konto und ein privates Profil für Datenbank-E-Mail erstellt. Anschließend wird das Konto zum Profil hinzugefügt und öffentlicher Zugriff auf das Profil erteilt.

-- 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ächste Schritte