Поделиться через


sysmail_update_account_sp (Transact-SQL)

Область применения: SQL Server

Изменяет данные в существующей учетной записи компонента Database Mail.

Соглашения о синтаксисе 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
    , [ @timeout = ] 'timeout'
    , [ @username = ] 'username'
    , [ @password = ] 'password'
    , [ @use_default_credentials = ] use_default_credentials
    , [ @enable_ssl = ] enable_ssl
[ ; ]

Аргументы

[ @account_id = ] account_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'

Новый адрес электронной почты для отправки сообщений. Этот адрес должен быть адресом электронной почты Интернета. Имя сервера в адресе принадлежит серверу, который используется компонентом Database Mail для отправки почты от имени этой учетной записи. @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, должен иметь возможность разрешать @mailserver_name IP-адресу. @mailserver_name — sysname без значения по умолчанию.

[ @mailserver_type = ] 'server_type'

Новый тип почтового сервера. @mailserver_type — sysname без значения по умолчанию. Поддерживается только значение SMTP .

[ @port = ] port_number

Новый номер порта почтового сервера. @port не используется без значения по умолчанию.

[ @timeout = ] "тайм-аут"

Параметр timeout для SmtpClient.Send одного сообщения электронной почты. @timeout в секундах без значения по умолчанию.

[ @username = ] "имя пользователя"

Новое имя пользователя для входа на почтовый сервер. @username — sysname без значения по умолчанию.

[ @password = ] 'password'

Новый пароль для входа на почтовый сервер. @password — sysname без значения по умолчанию.

[ @use_default_credentials = ] use_default_credentials

Указывает, следует ли отправлять почту на SMTP-сервер с помощью учетных данных службы SQL Server ядро СУБД. @use_default_credentials бит, без значения по умолчанию. Если этот параметр равен 1, Database Mail использует учетные данные ядро СУБД. Если этот параметр равен 0, Database Mail использует @username и @password для проверки подлинности на SMTP-сервере. Если @username и @password, используется NULLанонимная проверка подлинности. Перед указанием этого аргумента следует проконсультироваться с администратором SMTP

[ @enable_ssl = ] enable_ssl

Указывает, шифрует ли database Mail обмен данными с помощью протокола TLS, ранее известного как протокол SSL. Используйте этот параметр, если на SMTP-сервере требуется tls. @enable_ssl бит, без значения по умолчанию.

Значения кода возврата

0 (успешно) или 1 (сбой).

Замечания

При указании имени учетной записи и идентификатора учетной записи хранимая процедура изменяет имя учетной записи в дополнение к обновлению сведений для учетной записи. Изменение имени учетной записи полезно для исправления ошибок в имени учетной записи.

Хранимая процедура sysmail_update_account_sp находится в msdb базе данных и принадлежит схеме dbo . Процедура должна выполняться с трехкомпонентным именем, если текущая база данных не msdbявляется.

Разрешения

Эта хранимая процедура принадлежит роли db_owner . Вы можете предоставить EXECUTE разрешения для любого пользователя, но эти разрешения могут быть переопределены во время обновления SQL Server.

Примеры

А. Изменение сведений для учетной записи

В следующем примере обновляется учетная запись AdventureWorks Administrator в msdb базе данных. Данные для учетной записи устанавливается в соответствии с предоставленными значениями.

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. Изменение имени учетной записи и сведений для учетной записи

В следующем примере изменяется имя и обновляются сведения об учетной записи для идентификатора 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;