適用対象:SQL Server
既存のデータベース メール アカウントの情報を変更します。
構文
dbo.sysmail_update_account_sp
[ [ @account_id = ] account_id ]
[ , [ @account_name = ] N'account_name' ]
[ , [ @email_address = ] N'email_address' ]
[ , [ @display_name = ] N'display_name' ]
[ , [ @replyto_address = ] N'replyto_address' ]
[ , [ @description = ] N'description' ]
[ , [ @mailserver_name = ] N'mailserver_name' ]
[ , [ @mailserver_type = ] N'mailserver_type' ]
[ , [ @port = ] port ]
[ , [ @username = ] N'username' ]
[ , [ @password = ] N'password' ]
[ , [ @use_default_credentials = ] use_default_credentials ]
[ , [ @enable_ssl = ] enable_ssl ]
[ , [ @timeout = ] timeout ]
[ , [ @no_credential_change = ] no_credential_change ]
[ ; ]
引数
[ @account_id = ] account_id
更新するアカウント ID。
@account_id は int で、既定値は NULL です。 少なくとも 1 つの @account_id または @account_name を指定する必要があります。 両方を指定すると、プロシージャによってアカウントの名前が変更されます。
[ @account_name = ] N'account_name'
更新するアカウントの名前。
@account_name は sysname で、既定値は NULL です。 少なくとも 1 つの @account_id または @account_name を指定する必要があります。 両方を指定すると、プロシージャによってアカウントの名前が変更されます。
[ @email_address = ] N'email_address'
メッセージの送信先となる新しい電子メール アドレス。 このアドレスは、インターネットの電子メール アドレスである必要があります。 アドレス内のサーバー名は、このアカウントからメールを送信するために使用データベース メールサーバーです。
@email_address は nvarchar(128) で、既定値は NULL です。
[ @display_name = ] N'display_name'
このアカウントから送信する電子メール メッセージの新しい表示名を指定します。 @display_name は nvarchar(128)で、既定値はありません。
[ @replyto_address = ] replyto_address
このアカウントから送信する電子メール メッセージの [返信先] ヘッダーで使用する新しいアドレスを指定します。 @replyto_address は nvarchar(128) で、既定値はありません。
[ @description = ] 説明
アカウントの新しい説明。
@description は nvarchar(256) で、既定値は NULL です。
[ @mailserver_name = ] mailserver_name
このアカウントに使用する SMTP メール サーバーの新しい名前。 SQL Server を実行するコンピューターは、 @mailserver_name を IP アドレスに解決できる必要があります。 @mailserver_name は sysname で、既定値はありません。
[ @mailserver_type = ] N'mailserver_type'
メール サーバーの新しい種類を指定します。
@mailserver_type は sysname で、既定値はありません。
SMTPの値のみがサポートされています。
[ @port = ] ポート
メール サーバーの新しいポート番号。 @port は int で、既定値はありません。
[ @username = ] N'username
メール サーバーへのログオンに使用する新しいユーザー名。 @username は sysname で、既定値はありません。
[ @password = ] N'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 は ビットで、既定値はありません。
[ @timeout = ] タイムアウト
1 つの電子メール メッセージの SmtpClient.Send のタイムアウト パラメーター。
@timeout は int 秒で、既定値はありません。
[ @no_credential_change = ] no_credential_change
単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。
リターン コードの値
0 (成功) または 1 (失敗)。
解説
アカウント名とアカウント ID の両方を指定すると、ストアド プロシージャはアカウントの情報を更新するだけでなく、アカウント名を変更します。 アカウント名を変更すると、アカウント名のエラーを修正するのに役立ちます。
ストアド プロシージャ sysmail_update_account_sp は msdb データベースにあり、 dbo スキーマによって所有されています。 現在のデータベースが msdbされていない場合は、プロシージャを 3 部構成の名前で実行する必要があります。
アクセス許可
この手順では EXECUTE アクセス許可を付与できますが、これらのアクセス許可は SQL Server のアップグレード中にオーバーライドされる可能性があります。
例
A。 アカウントの情報を変更する
次の例では、AdventureWorks Administrator データベースのアカウント msdbを更新します。 アカウントの情報は、指定された値に設定されます。
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,
@timeout = 60,
@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,
@timeout = 60,
@username = NULL,
@password = NULL,
@use_default_credentials = 0,
@enable_ssl = 0;