sysmail_update_account_sp (Transact-SQL)
適用対象: SQL Server
既存のデータベース メール アカウントの情報を変更します。
構文
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
[ ; ]
引数
[ @account_id = ] account_id
更新するアカウント ID。 @account_id は int で、既定値は NULL
です。 少なくとも 1 つの @account_id または @account_name を指定する必要があります。 両方を指定すると、プロシージャによってアカウントの名前が変更されます。
[ @account_name = ] 'account_name'
更新するアカウントの名前。 @account_name は sysname で、既定値は NULL
です。 少なくとも 1 つの @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 は nvarchar(256) で、既定値は NULL
です。
[ @mailserver_name = ] 'server_name'
このアカウントに使用する SMTP メール サーバーの新しい名前。 SQL Server を実行するコンピューターは、 @mailserver_name を IP アドレスに解決できる必要があります。 @mailserver_name は sysname で、既定値はありません。
[ @mailserver_type = ] 'server_type'
メール サーバーの新しい種類を指定します。 @mailserver_type は sysname で、既定値はありません。 SMTP
の値のみがサポートされています。
[ @port = ] port_number
メール サーバーの新しいポート番号。 @port は int で、既定値はありません。
[ @timeout = ] 'timeout'
1 つの電子メール メッセージの SmtpClient.Send
のタイムアウト パラメーター。 @timeout は int 秒で、既定値はありません。
[ @username = ] 'username'
メール サーバーへのログオンに使用する新しいユーザー名。 @username は sysname で、既定値はありません。
[ @password = ] 'password'
メール サーバーへのログオンに使用する新しいパスワード。 @password は sysname で、既定値はありません。
[ @use_default_credentials = ] use_default_credentials
SQL Server データベース エンジン サービスの資格情報を使用して SMTP サーバーにメールを送信するかどうかを指定します。 @use_default_credentials は ビットで、既定値はありません。 このパラメーターが 1 の場合、データベース メールはデータベース エンジンの資格情報を使用します。 このパラメーターが 0 の場合、データベース メールは SMTP サーバーでの認証に@usernameと@passwordを使用します。 @usernameと@passwordがNULL
されている場合は、匿名認証が使用されます。 このパラメーターを指定する前に、SMTP 管理者に問い合わせてください
[ @enable_ssl = ] enable_ssl
データベース メールトランスポート層セキュリティ (TLS) (以前は Secure Sockets Layer (SSL) と呼ばれる) を使用して通信を暗号化するかどうかを指定します。 SMTP サーバーで TLS が必要な場合は、このオプションを使用します。 @enable_ssl は ビットで、既定値はありません。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
アカウント名とアカウント ID の両方を指定すると、ストアド プロシージャはアカウントの情報を更新するだけでなく、アカウント名を変更します。 アカウント名を変更すると、アカウント名のエラーを修正するのに役立ちます。
ストアド プロシージャ sysmail_update_account_sp
は msdb
データベースにあり、 dbo
スキーマによって所有されています。 現在のデータベースが msdb
されていない場合は、プロシージャを 3 部構成の名前で実行する必要があります。
アクセス許可
この手順では EXECUTE
アクセス許可を付与できますが、これらのアクセス許可は SQL Server のアップグレード中にオーバーライドされる可能性があります。
例
A. アカウントの情報を変更する
次の例では、msdb
データベースのアカウント AdventureWorks Administrator
を更新します。 アカウントの情報は、指定された値に設定されます。
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. アカウントの名前とアカウントの情報を変更する
次の例では、名前を変更し、アカウント ID 125
を持つアカウント情報を更新します。 アカウントの新しい名前が 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;