sysmail_update_account_sp(Transact-SQL)

適用対象:SQL Server

既存のデータベース メール アカウントの情報を変更します。

Transact-SQL 構文表記規則

構文

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_idint で、既定値は NULL です。 少なくとも 1 つの @account_id または @account_name を指定する必要があります。 両方を指定すると、プロシージャによってアカウントの名前が変更されます。

[ @account_name = ] N'account_name'

更新するアカウントの名前。 @account_namesysname で、既定値は NULL です。 少なくとも 1 つの @account_id または @account_name を指定する必要があります。 両方を指定すると、プロシージャによってアカウントの名前が変更されます。

[ @email_address = ] N'email_address'

メッセージの送信先となる新しい電子メール アドレス。 このアドレスは、インターネットの電子メール アドレスである必要があります。 アドレス内のサーバー名は、このアカウントからメールを送信するために使用データベース メールサーバーです。 @email_addressnvarchar(128) で、既定値は NULL です。

[ @display_name = ] N'display_name'

このアカウントから送信する電子メール メッセージの新しい表示名を指定します。 @display_namenvarchar(128)で、既定値はありません。

[ @replyto_address = ] replyto_address

このアカウントから送信する電子メール メッセージの [返信先] ヘッダーで使用する新しいアドレスを指定します。 @replyto_addressnvarchar(128) で、既定値はありません。

[ @description = ] 説明

アカウントの新しい説明。 @descriptionnvarchar(256) で、既定値は NULL です。

[ @mailserver_name = ] mailserver_name

このアカウントに使用する SMTP メール サーバーの新しい名前。 SQL Server を実行するコンピューターは、 @mailserver_name を IP アドレスに解決できる必要があります。 @mailserver_namesysname で、既定値はありません。

[ @mailserver_type = ] N'mailserver_type'

メール サーバーの新しい種類を指定します。 @mailserver_typesysname で、既定値はありません。 SMTPの値のみがサポートされています。

[ @port = ] ポート

メール サーバーの新しいポート番号。 @portint で、既定値はありません。

[ @username = ] N'username

メール サーバーへのログオンに使用する新しいユーザー名。 @usernamesysname で、既定値はありません。

[ @password = ] N'password'

メール サーバーへのログオンに使用する新しいパスワード。 @passwordsysname で、既定値はありません。

[ @use_default_credentials = ] use_default_credentials

SQL Server データベース エンジン サービスの資格情報を使用して SMTP サーバーにメールを送信するかどうかを指定します。 @use_default_credentialsビットで、既定値はありません。 このパラメーターが 1 の場合、データベース メールはデータベース エンジンの資格情報を使用します。 このパラメーターが 0 の場合、データベース メールは SMTP サーバーでの認証に@username@passwordを使用します。 @username@passwordNULLされている場合は、匿名認証が使用されます。 このパラメーターを指定する前に、SMTP 管理者に問い合わせてください

[ @enable_ssl = ] enable_ssl

データベース メールトランスポート層セキュリティ (TLS) (以前は Secure Sockets Layer (SSL) と呼ばれる) を使用して通信を暗号化するかどうかを指定します。 SMTP サーバーで TLS が必要な場合は、このオプションを使用します。 @enable_sslビットで、既定値はありません。

[ @timeout = ] タイムアウト

1 つの電子メール メッセージの SmtpClient.Send のタイムアウト パラメーター。 @timeoutint 秒で、既定値はありません。

[ @no_credential_change = ] no_credential_change

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

リターン コードの値

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

解説

アカウント名とアカウント ID の両方を指定すると、ストアド プロシージャはアカウントの情報を更新するだけでなく、アカウント名を変更します。 アカウント名を変更すると、アカウント名のエラーを修正するのに役立ちます。

ストアド プロシージャ sysmail_update_account_spmsdb データベースにあり、 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;