Share via


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'
    メッセージ送信元の新しい電子メール アドレスを指定します。このアドレスにはインターネット電子メール アドレスを指定する必要があります。アドレスのサーバー名は、データベース メールがこのアカウントからメールを送信する場合に使用するサーバーです。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 の場合、データベース メールでは、SMTP サーバーでの認証に @username および @password が使用されます。@username および @password が NULL の場合、匿名認証が使用されます。このパラメーターを指定する前に、SMTP 管理者に問い合わせてください。

  • [ @enable_ssl = ] enable_ssl
    データベース メールで SSL (Secure Sockets Layer) を使用して通信を暗号化するかどうかを指定します。SMTP サーバーで SSL が必要な場合はこのオプションを使用します。enable_ssl のデータ型は bit で、既定値はありません。

リターン コード値

0 (成功) または 1 (失敗)

説明

アカウント名とアカウント ID の両方を指定すると、ストアド プロシージャではアカウント情報の更新だけでなく、アカウント名の変更も行われます。アカウント名の変更は、アカウント名のエラーを修正する場合に利用できます。

ストアド プロシージャ sysmail_update_account_sp は、msdb データベースにあり、dbo スキーマが所有しています。現在のデータベースが msdb でない場合、このプロシージャを実行するときには名前に 3 つの要素を指定する必要があります。

権限

固定サーバー ロール 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;