Freigeben über


sysmail_update_account_sp (Transact-SQL)

Gilt für: SQL Server

Ändert die Informationen in einem vorhandenen Konto für Datenbank-E-Mail.

Transact-SQL-Syntaxkonventionen

Syntax

sysmail_update_account_sp [ [ @account_id = ] account_id ] [ , ] [ [ @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
    , [ @timeout = ] 'timeout'
    , [ @username = ] 'username'
    , [ @password = ] 'password'
    , [ @use_default_credentials = ] use_default_credentials
    , [ @enable_ssl = ] enable_ssl
[ ; ]

Argumente

[ @account_id = ] account_id

Die ID des Kontos, das aktualisiert werden soll. @account_id ist int, mit einem Standardwert von NULL. Mindestens ein @account_id oder @account_name muss angegeben werden. Wenn beide Argumente angegeben werden, ändert die Prozedur den Namen des Kontos.

[ @account_name = ] 'account_name'

Der Name des zu aktualisierenden Kontos. @account_name ist "sysname" mit der Standardeinstellung "NULL. Mindestens ein @account_id oder @account_name muss angegeben werden. Wenn beide Argumente angegeben werden, ändert die Prozedur den Namen des Kontos.

[ @email_address = ] 'email_address'

Die neue E-Mail-Adresse, von der die Nachricht gesendet werden soll. Bei dieser Adresse muss es sich um eine Internet-E-Mail-Adresse handeln. Der Servername ist die Adresse des Servers, der von Datenbank-E-Mail zum Senden von E-Mails von diesem Konto verwendet wird. @email_address ist nvarchar(128), mit einem Standardwert von NULL.

[ @display_name = ] 'display_name'

Der neue Anzeigename, der in E-Mail-Nachrichten verwendet werden soll, die von diesem Konto gesendet werden. @display_name ist nvarchar(128), ohne Standard.

[ @replyto_address = ] 'replyto_address'

Die neue Adresse, die im Antwortheader von E-Mail-Nachrichten verwendet werden soll, die von diesem Konto gesendet werden. @replyto_address ist nvarchar(128), ohne Standard.

[ @description = ] 'description'

Die neue Beschreibung des Kontos. @description ist nvarchar(256), mit einem Standardwert von NULL.

[ @mailserver_name = ] 'server_name'

Der neue Name des SMTP-Mailservers, der für dieses Konto verwendet werden soll. Der Computer, auf dem SQL Server ausgeführt wird, muss die @mailserver_name in eine IP-Adresse auflösen können. @mailserver_name ist "sysname" ohne Standard.

[ @mailserver_type = ] 'server_type'

Der neue Typ des E-Mail-Servers. @mailserver_type ist "sysname" ohne Standard. Es wird nur ein Wert unterstützt SMTP .

[ @port = ] port_number

Die neue Portnummer des E-Mail-Servers. @port ist "int" ohne Standard.

[ @timeout = ] 'Timeout'

Timeoutparameter für SmtpClient.Send eine einzelne E-Mail-Nachricht. @timeout in Sekunden ohne Standard ist.

[ @username = ] 'Benutzername'

Der neue Benutzername, der für die Anmeldung beim E-Mail-Server verwendet werden soll. @username ist "sysname" ohne Standard.

[ @password = ] 'password'

Das neue Kennwort, das für die Anmeldung beim E-Mail-Server verwendet werden soll. @password ist "sysname" ohne Standard.

[ @use_default_credentials = ] use_default_credentials

Gibt an, ob die E-Mail mithilfe der Anmeldeinformationen des SQL Server-Datenbank-Engine Diensts an den SMTP-Server gesendet werden soll. @use_default_credentials ist bit, ohne Standard. Wenn dieser Parameter 1 ist, verwendet Datenbank-E-Mail die Anmeldeinformationen des Datenbank-Engine. Wenn dieser Parameter den Wert 0 besitzt, verwendet Datenbank-E-Mail die @username - und @password -Parameter für die Authentifizierung auf dem SMTP-Server. Wenn @username und @password sind NULL, wird die anonyme Authentifizierung verwendet. Besprechen Sie die geeignete Angabe für diesen Parameter mit Ihrem SMTP-Administrator.

[ @enable_ssl = ] enable_ssl

Gibt an, ob Datenbank-E-Mail die Kommunikation mit Transport Layer Security (TLS) verschlüsselt, die zuvor als Secure Sockets Layer (SSL) bezeichnet wurde. Verwenden Sie diese Option, wenn TLS auf Ihrem SMTP-Server erforderlich ist. @enable_ssl ist bit, ohne Standard.

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Hinweise

Wenn sowohl der Kontoname als auch die Konto-ID angegeben werden, ändert die gespeicherte Prozedur den Kontonamen zusätzlich zur Aktualisierung der Informationen für das Konto. Das Ändern des Kontonamens ist hilfreich, um Fehler im Kontonamen zu beheben.

Die gespeicherte Prozedur sysmail_update_account_sp befindet sich in der msdb Datenbank und gehört dem dbo Schema. Die Prozedur muss mit einem dreiteiligen Namen ausgeführt werden, wenn die aktuelle Datenbank nicht msdbvorhanden ist.

Berechtigungen

Diese gespeicherte Prozedur gehört der db_owner Rolle. Sie können berechtigungen für jeden Benutzer erteilen EXECUTE , diese Berechtigungen können jedoch während eines SQL Server-Upgrades außer Kraft gesetzt werden.

Beispiele

A. Ändern der Informationen für ein Konto

Im folgenden Beispiel wird das Konto AdventureWorks Administrator in der msdb Datenbank aktualisiert. Die Informationen für dieses Konto werden auf die bereitgestellten Werte festgelegt.

EXEC msdb.dbo.sysmail_update_account_sp
    @account_name = 'AdventureWorks Administrator',
    @description = 'Mail account for administrative e-mail.',
    @email_address = 'dba@adventure-works.com',
    @display_name = 'AdventureWorks Automated Mailer',
    @replyto_address = NULL,
    @mailserver_name = 'smtp.adventure-works.com',
    @mailserver_type = 'SMTP',
    @port = 25,
    @timeout = 60,
    @username = NULL,
    @password = NULL,
    @use_default_credentials = 0,
    @enable_ssl = 0;

B. Ändern des Namens eines Kontos und der Informationen für ein Konto

Im folgenden Beispiel wird der Name geändert und die Kontoinformationen für die Konto-ID 125aktualisiert. Der Name des Kontos lautet Backup Mail Server.

EXEC msdb.dbo.sysmail_update_account_sp
    @account_id = 125,
    @account_name = 'Backup Mail Server',
    @description = 'Mail account for administrative e-mail.',
    @email_address = 'dba@adventure-works.com',
    @display_name = 'AdventureWorks Automated Mailer',
    @replyto_address = NULL,
    @mailserver_name = 'smtp-backup.adventure-works.com',
    @mailserver_type = 'SMTP',
    @port = 25,
    @timeout = 60,
    @username = NULL,
    @password = NULL,
    @use_default_credentials = 0,
    @enable_ssl = 0;