Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Aggiorna un account di posta del database in SQL Server (T-SQL)

In SQL Server puoi utilizzare sysmail_update_account_sp stored procedure nel msdb database per aggiornare gli account di posta del database esistenti con T-SQL.

Aggiorna i dettagli dell'account

Puoi aggiornare i dettagli di un account in base al suo nome.

Cioè, se non è necessario modificare il nome dell'account, non è necessario fornire l'ID account, purché si fornisca il nome.

Esempio:

EXECUTE msdb.dbo.sysmail_update_account_sp  
    @account_name = 'DB Admin',  
    @description = 'Mail account for admin emails.',  
    @email_address = '[email protected]',  
    @replyto_address = '[email protected]',  
    @display_name = 'DB Automated Mailer',  
    @mailserver_name = 'smtp.example.com',
    @port = 25;

Aggiorna il nome dell'account

Quando vengono specificati sia il nome dell'account che l'ID dell'account, la stored procedure modifica il nome dell'account oltre ad aggiornare le informazioni per l'account.

EXECUTE msdb.dbo.sysmail_update_account_sp
    @account_id = 1,
    @account_name = 'Updated DB Admin',  
    @description = 'Mail account for admin emails.',  
    @email_address = '[email protected]',  
    @replyto_address = '[email protected]',  
    @display_name = 'DB Automated Mailer',  
    @mailserver_name = 'smtp.example.com',
    @port = 25;

In questo esempio ho aggiornato il nome e vari altri dettagli dell'account.

La sintassi

La sintassi ufficiale è questa:

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

Consulta la documentazione Microsoft per una spiegazione dettagliata di ogni argomento.

Nota che il sysmail_update_account_sp la procedura memorizzata si trova in msdb database ed è di proprietà del dbo schema. Pertanto, dovrai utilizzare la denominazione in tre parti se la esegui dall'esterno di msdb banca dati.

Puoi anche usare il sysmail_add_account_sp stored procedure per creare un nuovo account di posta elettronica database.