Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Erstellen eines Datenbank-E-Mail-Kontos in SQL Server (T-SQL)

Wenn Sie Datenbank-E-Mail zum Senden von E-Mails in SQL Server einrichten, benötigen Sie mindestens ein Datenbank-E-Mail-Konto.

Sie können Datenbank-E-Mail-Konten mit T-SQL erstellen, indem Sie sysmail_add_account_sp ausführen gespeicherte Prozedur in der msdb Datenbank.

Das Datenbank-E-Mail-Konto ist das Konto, das die E-Mail sendet. Wenn Sie beispielsweise eine automatisierte E-Mail haben, die gesendet wird, wenn ein SQL Server-Agent-Auftrag fehlschlägt, ist dies das Konto, das diese E-Mail sendet.

Sie können auch Dinge wie eine separate Antwort-E-Mail, einen Anzeigenamen usw. angeben.

Sie können bei Bedarf mehrere Konten für verschiedene Aufgaben haben. Führen Sie einfach sysmail_add_account_sp aus wann immer Sie ein neues Konto erstellen müssen.

Beispiel

Hier ist ein Beispiel für die Erstellung eines Datenbank-E-Mail-Kontos.

EXECUTE msdb.dbo.sysmail_add_account_sp  
    @account_name = 'DB Admin',  
    @description = 'Mail account for admin emails.',  
    @email_address = '[email protected]',  
    @replyto_address = '[email protected]',  
    @display_name = 'DB Automated Mailer',  
    @mailserver_name = 'smtp.example.com',
    @port = 25;

In diesem Beispiel gebe ich als Anzeigenamen „DB Automated Mailer“ an. Dies ist ein benutzerfreundlicher Name, der dem Empfänger, der die E-Mail gesendet hat, übermittelt wird. Je nach Konfiguration können Sie „SQL Server Agent“ oder ähnliches verwenden.

Die Syntax

Das obige Beispiel enthält nicht alle verfügbaren Optionen.

Die offizielle Syntax lautet wie folgt:

sysmail_add_account_sp  [ @account_name = ] 'account_name',  
    [ @email_address = ] 'email_address' ,  
    [ [ @display_name = ] 'display_name' , ]  
    [ [ @replyto_address = ] 'replyto_address' , ]  
    [ [ @description = ] 'description' , ]  
    [ @mailserver_name = ] 'server_name'   
    [ , [ @mailserver_type = ] 'server_type' ]  
    [ , [ @port = ] port_number ]  
    [ , [ @username = ] 'username' ]  
    [ , [ @password = ] 'password' ]  
    [ , [ @use_default_credentials = ] use_default_credentials ]  
    [ , [ @enable_ssl = ] enable_ssl ]  
    [ , [ @account_id = ] account_id OUTPUT ]

Eine ausführliche Erläuterung der einzelnen Argumente finden Sie in der Microsoft-Dokumentation. Sie können beliebige Argumente verwenden, die Ihrer Situation entsprechen.

Sie können auch sysmail_update_account_sp verwenden gespeicherte Prozedur zum Aktualisieren eines vorhandenen Datenbank-E-Mail-Kontos.

Datenbank-E-Mail konfigurieren

Das Erstellen eines Datenbank-E-Mail-Kontos ist nur eines von mehreren Dingen, die Sie tun müssen, bevor Sie E-Mails mit diesem Konto senden können.

Sobald Sie das Konto erstellt haben, müssen Sie es zu einem Profil hinzufügen (was bedeutet, dass Sie auch ein Profil erstellen müssen, falls Sie noch keines haben). Sie müssen auch einen Benutzer in der msdb gewähren Datenbankzugriff auf das Profil.

Ein vollständiges Beispiel für das Konfigurieren von Datenbank-E-Mail und das anschließende Senden einer E-Mail finden Sie unter E-Mail-Versand in SQL Server.