sysmail_update_account_sp (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 ,
[ @no_credential_change = ] changes to username and password ,
[ @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 管理者に問い合わせてください。[ @no_credential_change = ] changes to username and password
既存の資格情報 (ユーザー名とパスワード) を変更するかどうかを指定します。このパラメータが 1 の場合、資格情報の変更がないことを示し、@username と @password は必要ありません。このパラメータが 0 の場合、資格情報の変更があることを示し、@username と @password を指定する必要があります。このパラメータのデータ型は bit で、既定値は 0 です。[ @enable_ssl = ] enable_ssl
データベース メールで SSL (Secure Sockets Layer) を使用して通信を暗号化するかどうかを指定します。SMTP サーバーで SSL が必要な場合はこのオプションを使用します。enable_ssl のデータ型は bit で、既定値はありません。
リターン コード値
0 (成功) または 1 (失敗)
説明
アカウント名とアカウント ID の両方を指定すると、ストアド プロシージャではアカウント情報の更新だけでなく、アカウント名の変更も行われます。アカウント名の変更は、アカウント名のエラーを修正する場合に利用できます。
@no_credential_change パラメータは、電子メールの送信に基本認証を使用しているアカウントのユーザー名とパスワード以外の変更に使用できます。たとえば、@no_credential_change = 1 を指定すると、ユーザー名とパスワードを指定しなくても SSL を有効にできます。
ストアド プロシージャ sysmail_update_account_sp は、msdb データベースにあり、dbo スキーマが所有しています。現在のデータベースが msdb でない場合、このプロシージャを実行するときには名前に 3 つの要素を指定する必要があります。
権限
固定サーバー ロール sysadmin のメンバシップが必要です。
例
A. アカウントの情報を変更する
次の例では、msdb データベースのアカウント AdventureWorks Administrator を更新します。アカウントの情報は、指定した値に設定されます。
EXECUTE 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
,@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;
C. @no\_credential\_change を使用してアカウントの SSL のみを変更する
次の例では、アカウント ID 125 の SSL 設定を変更します。他のアカウント情報はすべてそのまま変更されません。
EXECUTE msdb.dbo.sysmail_update_account_sp
,@account_id = 125
,@enable_ssl = 1
,@no_credential_change = 1;
@no\_credential\_change=1 を指定していない場合、@username と @password の値を指定しないと、これらに NULL 値が代入されます。
変更履歴
変更内容 |
---|
新しいパラメータ @no_credential_change に関する情報が、「構文」、「引数」、「解説」の各セクションに追加されました。 |
新しいパラメータ @no_credential_change を使用して SSL 設定を変更する例が追加されました。 |