sysmail_update_account_sp (Transact-SQL)

更改现有数据库邮件帐户中的信息。

主题链接图标Transact-SQL 语法约定

语法

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

参数

  • [ @account_id = ] account_id
    要更新的帐户的 ID。account_id 的数据类型为 int,默认值为 NULL。至少必须指定 account_id 或 account_name 中的一项。如果两个都指定,则过程将更改帐户的名称。

  • [ @account_name = ] 'account_name'
    要更新的帐户的名称。account_name 的数据类型为 sysname,默认值为 NULL。至少必须指定 account_id 或 account_name 中的一项。如果两个都指定,则过程将更改帐户的名称。

  • [ @email_address = ] 'email_address'
    发件人的新电子邮件地址。该地址必须是 Internet 电子邮件地址。该地址中的服务器名称就是数据库邮件用于从该帐户发送邮件的服务器。email_address 的数据类型为 nvarchar(128),默认值为 NULL。

  • [ @display_name = ] 'display_name'
    从该帐户发出的电子邮件中使用的新显示名称。display_name 的数据类型为 nvarchar(128),无默认值。

  • [ @replyto_address = ] 'replyto_address'
    从该帐户发出的电子邮件的答复标题中使用的新地址。replyto_address 的数据类型为 nvarchar(128),无默认值。

  • [ @description = ] 'description'
    对帐户的新说明。description 的数据类型为 nvarchar(256),默认值为 NULL。

  • [ @mailserver_name = ] 'server_name'
    该帐户要使用的 SMTP 邮件服务器的新名称。运行 SQL Server 的计算机必须能够将 server_name 解析为 IP 地址。server_name 的数据类型为 sysname,无默认值。

  • [ @mailserver_type = ] 'server_type'
    邮件服务器的新类型。server_type 的数据类型为 sysname,无默认值。对于 SQL Server 2005 和更高版本,仅支持“SMTP”值。

  • [ @port = ] port_number
    邮件服务器的新端口号。port_number 的数据类型为 int,无默认值。

  • [ @username = ] 'username'
    登录到邮件服务器时使用的新用户名。User name 的数据类型为 sysname,无默认值。

  • [ @password = ] 'password'
    登录邮件服务器时使用的新密码。password 的数据类型为 sysname,无默认值。

  • [ @use_default_credentials = ] use_default_credentials
    指定是否使用 SQL Server 数据库引擎服务的凭据将邮件发送到 SMTP 服务器。use_default_credentials 的数据类型为 bit,无默认值。当此参数为 1 时,数据库邮件使用数据库引擎的凭据。当此参数为 0 时,数据库邮件使用 @username@password 在 SMTP 服务器上进行身份验证。如果 @username@password 为 NULL,则它将使用匿名身份验证。在指定此参数之前,请洽询您的 SMTP 管理员

  • [ @enable_ssl = ] enable_ssl
    指定数据库邮件是否使用安全套接字层 (SSL) 对通信进行加密。如果 SMTP 服务器需要 SSL,则使用该选项。enable_ssl 的数据类型为 bit,无默认值。

返回代码值

0(成功)或 1(失败)

注释

如果同时指定了帐户名与帐户 ID,则存储过程不仅会更新帐户信息,还会更改帐户名。更改帐户名可能有助于纠正帐户名中的错误。

存储过程 sysmail_update_account_sp 位于 msdb 数据库中,并由 dbo 架构拥有。如果当前数据库不是 msdb,则必须使用由三部分组成的名称来执行该过程。

权限

要求具有 sysadmin 固定服务器角色的成员身份。

示例

A. 更改帐户的信息

下面的示例更新了 msdb 数据库中的帐户 AdventureWorks Administrator。此帐户的信息被设置为提供的值。

EXECUTE msdb.dbo.sysmail_update_account_sp
    ,@account_name = 'AdventureWorks2008R2 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
    ,@username = NULL
    ,@password = NULL
    ,@use_default_credentials = 0
    ,@enable_ssl = 0;

B. 更改帐户名和帐户信息

下面的示例更改了帐户 ID 为 125 的帐户名并更新了帐户信息。此帐户的新名称为 Backup Mail Server。

EXECUTE 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,
    ,@username = NULL
    ,@password = NULL
    ,@use_default_credentials = 0
    ,@enable_ssl = 0;