Condividi tramite


sysmail_update_account_sp (Transact-SQL)

Modifica le informazioni di un account di Posta elettronica database esistente.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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 

Argomenti

  • [ @account_id = ] account_id
    ID dell'account che si desidera aggiornare. account_id è di tipo int e il valore predefinito è NULL. È necessario specificare account_id o account_name. Se si specificano entrambi, la stored procedure modifica il nome dell'account.

  • [ @account_name = ] 'account_name'
    Nome dell'account che si desidera aggiornare. account_name è di tipo sysname e il valore predefinito è NULL. È necessario specificare account_id o account_name. Se si specificano entrambi, la stored procedure modifica il nome dell'account.

  • @email_address = ] 'email_address'
    Nuovo indirizzo di posta elettronica da cui inviare il messaggio. Deve essere un indirizzo di posta elettronica Internet. Il nome del server nell'indirizzo è il server utilizzato da Posta elettronica database per l'invio di posta da questo account. email_address è di tipo nvarchar(128) e il valore predefinito è NULL.

  • @display_name = ] 'display_name'
    Nuovo nome visualizzato da utilizzare nei messaggi di posta elettronica provenienti da questo account. display_name è di tipo nvarchar(128) e non prevede alcun valore predefinito.

  • @replyto_address = ] 'replyto_address'
    Nuovo indirizzo da utilizzare nel campo Risposta dei messaggi di posta elettronica inviati da questo account. replyto_address è di tipo nvarchar(128) e non prevede alcun valore predefinito.

  • [ @description = ] 'description'
    Nuova descrizione dell'account. description è di tipo nvarchar(256) e il valore predefinito è NULL.

  • [ @mailserver_name = ] 'server_name'
    Nome del nuovo server di posta elettronica SMTP da utilizzare per l'account. Il computer in cui è in esecuzione SQL Server deve essere in grado di risolvere il valore di server_name in un indirizzo IP. server_name è di tipo sysname e non prevede alcun valore predefinito.

  • [ @mailserver_type = ] 'server_type'
    Tipo del nuovo server di posta elettronica. server_type è di tipo sysname e non prevede alcun valore predefinito. Per SQL Server 2005 e versioni successive, è supportato solo 'SMTP'.

  • [ @port = ] port_number
    Nuovo numero di porta del server di posta elettronica. port_number è di tipo int e non prevede alcun valore predefinito.

  • [ @username = ] 'username'
    Nuovo nome utente da utilizzare per l'accesso al server di posta elettronica. User name è di tipo sysname e non prevede alcun valore predefinito.

  • [ @password = ] 'password'
    Nuova password da utilizzare per l'accesso al server di posta elettronica. password è di tipo sysname e non prevede alcun valore predefinito.

  • [ @use_default_credentials = ] use_default_credentials
    Specifica se inviare il messaggio al server SMTP utilizzando le credenziali del servizio Motore di database di SQL Server. use_default_credentials è di tipo bit e non prevede alcun valore predefinito. Se questo parametro è 1, Posta elettronica database utilizza le credenziali di Motore di database. Se questo parametro è 1, Posta elettronica database utilizza @username e @password per l'autenticazione sul server SMTP. Se il valore di @username e @password è NULL viene utilizzata l'autenticazione anonima. Prima di specificare questo parametro, rivolgersi all'amministratore del server SMTP.

  • [ @no_credential_change = ] modifiche a nome utente e password
    Specifica se le credenziali esistenti (nome utente e password) devono essere modificate. Se questo parametro è 1, le credenziali non vengono modificate e i parametri @username e @password non sono richiesti. Se questo parametro è 0, le credenziali vengono modificate ed è necessario fornire i parametri @username e @password. Per impostazione predefinita, questo parametro è rappresentato da un bit con valore 0.

  • [ @enable_ssl = ] enable_ssl
    Specifica l'utilizzo della crittografia mediante SSL (Secure Sockets Layer) da parte di Posta elettronica database. Utilizzare questa opzione se SSL è obbligatorio per il server SMTP. enable_ssl è di tipo bit e non prevede alcun valore predefinito.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

Se si specificano sia il nome dell'account che l'ID dell'account, la stored procedure modifica il nome dell'account, oltre ad aggiornare le informazioni relative all'account. La modifica del nome dell'account può essere utile quando è necessario correggere un errore nel nome dell'account.

È possibile utilizzare il parametro @no_credential_change per apportare modifiche diverse rispetto a nome utente e password per un account che utilizza l'autenticazione di base per l'invio di posta elettronica. È ad esempio possibile specificare @no_credential_change = 1 per attivare SSL senza che sia necessario fornire il nome utente e la password.

La stored procedure sysmail_update_account_sp è disponibile nel database msdb ed è di proprietà dello schema dbo. La procedura deve essere eseguita con un nome in tre parti se il database corrente non è msdb.

Autorizzazioni

È richiesta l'appartenenza al ruolo predefinito del server sysadmin.

Esempi

A. Modifica delle informazioni di un account

Nell'esempio seguente viene aggiornato l'account AdventureWorks Administrator nel database msdb. Le informazioni dell'account vengono impostate in base ai valori specificati.

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. Modifica del nome e delle informazioni di un account

Nell'esempio seguente vengono modificati il nome e le informazioni dell'account con ID 125. Il nuovo nome dell'account è 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. Utilizzo di @no\_credential\_change esclusivamente per la modifica di SSL per un account

Nell'esempio seguente vengono modificate le impostazioni SSL per l'ID dell'account 125. Tutte le altre informazioni sull'account rimangono invariate.

EXECUTE msdb.dbo.sysmail_update_account_sp
    ,@account_id = 125
    ,@enable_ssl = 1
    ,@no_credential_change = 1;

Se non si specifica @no\_credential\_change=1, a @username e @password verrà assegnato il valore NULL, a meno che non vengano forniti i rispettivi valori.

Cronologia modifiche

Aggiornamento del contenuto

Aggiunta delle informazioni relative al nuovo parametro @no_credential_change alle sezioni Sintassi, Argomenti e Osservazioni.

Aggiunta di un esempio relativo alla modifica delle impostazioni SSL tramite il nuovo parametro @no_credential_change.