Erstellen eines Profils für Datenbank-E-Mail
Gilt für: SQL Server Azure SQL Managed Instance
Verwenden Sie den Assistenten zum Konfigurieren von Datenbank-E-Mail oder Transact-SQL, um öffentliche und private Datenbank-E-Mail-Profile zu erstellen. Weitere Informationen über E-Mail-Profile finden Sie unter Profile für Datenbank-E-Mail.
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
Mit einem öffentlichen Profil kann jeder Benutzer mit Zugriff auf die msdb
-Datenbank E-Mail mithilfe dieses Profils senden. 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. Um E-Mail zu senden, müssen Sie Mitglied der DatabaseMailUserRole in der msdb
-Datenbank sein und Zugriff auf mindestens ein Datenbankprofil besitzen.
Berechtigungen
Der Benutzer, der die Profilkonten erstellt und gespeicherte Prozeduren ausführt, sollte Mitglied der festen Serverrolle "sysadmin" sein.
Verwenden Sie den Assistent zum Konfigurieren von Datenbank-E-Mail
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 Datenbank-E-Mail konfiguriert werden soll, und erweitern Sie die Serverstruktur.
Erweitern Sie den Knoten Verwaltung .
Doppelklicken Sie auf Datenbank-E-Mail, um den Assistenten zum Konfigurieren von Datenbank-E-Mail zu öffnen.
Aktivieren Sie auf der Seite Konfigurationsaufgabe auswählen die Option Konten und Profile für Datenbank-E-Mail verwalten, und klicken Sie auf Weiter.
Aktivieren Sie auf der Seite Profile und Konten verwalten, aktivieren Sie die Option Neues Profil erstellen, und wählen Sie Weiter.
Geben Sie auf der Seite Neues Profil den Profilnamen und die Beschreibung ein, und fügen Sie die ins Profil einzuschließenden Konten hinzu. Wählen Sie anschließend Weiter.
Überprüfen Sie auf der Seite Assistenten abschließen die auszuführenden Aktionen, und wählen Sie Fertig stellen, um die Erstellung 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.
Aktivieren Sie auf der Seite Konfigurationsaufgabe auswählen die Option Konten und Profile für Datenbank-E-Mail verwalten , und wählen Sie Weiter.
Aktivieren Sie auf der Seite Profile und Konten verwalten die Option Profilsicherheit verwalten, und wählen Sie Weiter.
Aktivieren Sie auf der Registerkarte Private Profile das Kontrollkästchen für das zu konfigurierende Profil, und wählen Sie Weiter.
Überprüfen Sie auf der Seite Assistenten abschließen die auszuführenden Aktionen, und wählen Sie Fertig stellen , 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.
Aktivieren Sie auf der Seite Konfigurationsaufgabe auswählen die Option Konten und Profile für Datenbank-E-Mail verwalten , und wählen Sie Weiter.
Aktivieren Sie auf der Seite Profile und Konten verwalten die Option Profilsicherheit verwalten, und wählen Sie Weiter.
Aktivieren Sie auf der Registerkarte Öffentliche Profile das Kontrollkästchen für das zu konfigurierende Profil, und wählen Sie Weiter.
Überprüfen Sie auf der Seite Assistenten abschließen die auszuführenden Aktionen, und wählen Sie Fertig stellen , um die Konfiguration des Profils abzuschließen.
Verwenden von Transact-SQL
Erstellen Sie private Profile für Datenbank-E-Mail
Stellen Sie mit SQL Server Management Studio (SSMS) oder Azure Data Studio eine Verbindung zur SQL Server-Instanz her. Öffnen Sie ein neues Abfragefenster.
Führen Sie die gespeicherte Systemprozedur sysmail_add_profile_sp (Transact-SQL) wie folgt durch, um ein neues Profil zu erstellen:
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 für 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 durch:
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 steht @profile_name für den Namen des Profils und @account_name für den Namen des Kontos, das zum Profil hinzugefügt werden soll. @sequence_number gibt die Reihenfolge an, 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_profileaccount_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 Beispiel-Skript steht @profile_name für den Namen des Profils, @principal_name für den Datenbankbenutzer oder die Datenbankrolle und @is_default legt fest, ob dieses Profil das Standardprofil für den Datenbankbenutzer oder die Datenbankrolle darstellt.
Im folgenden Beispiel werden ein Datenbank-E-Mail-Konto und ein privates Konto für Datenbank-E-Mail erstellt. Anschließend wird das Konto zum Profil hinzugefügt und der Datenbankrolle DBMailUsers in der msdb
-Datenbank Zugriff auf das Profil erteilt.
-- 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 Sie öffentliches Profil für Datenbank-E-Mail
Stellen Sie eine Verbindung mit der SQL Server-Instanz her.
Führen Sie die gespeicherte Systemprozedur sysmail_add_profile_sp (Transact-SQL) wie folgt durch, um ein neues Profil zu erstellen:
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 für 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 durch:
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 steht @profile_name für den Namen des Profils und @account_name für den Namen des Kontos, das zum Profil hinzugefügt werden soll. @sequence_number gibt die Reihenfolge an, in der die Konten im Profil verwendet werden.
Führen Sie zum Erteilen öffentlichen Zugriffs die gespeicherte Prozedur sysmail_add_profileaccount_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 Beispiel-Skript steht @profile_name für den Namen des Profils, und @principal_name weist darauf hin, dass es sich um ein öffentliches Profil handelt. @is_default legt fest, ob dieses Profil das Standardprofil für den Datenbankbenutzer oder die Datenbankrolle darstellt.
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 ;