sql >> Base de Datos >  >> RDS >> Sqlserver

Actualizar una cuenta de correo de base de datos en SQL Server (T-SQL)

En SQL Server, puede usar el sysmail_update_account_sp procedimiento almacenado en el msdb base de datos para actualizar sus cuentas de correo de base de datos existentes con T-SQL.

Actualizar los detalles de la cuenta

Puede actualizar los detalles de una cuenta según su nombre.

Es decir, si no necesita cambiar el nombre de la cuenta, no necesita proporcionar el ID de la cuenta, siempre y cuando proporcione el nombre.

Ejemplo:

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;

Actualizar el nombre de la cuenta

Cuando se especifican tanto el nombre de la cuenta como el ID de la cuenta, el procedimiento almacenado cambia el nombre de la cuenta además de actualizar la información de la cuenta.

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;

En este ejemplo, actualicé el nombre y varios otros detalles de la cuenta.

La sintaxis

La sintaxis oficial es así:

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

Consulte la documentación de Microsoft para obtener una explicación detallada de cada argumento.

Tenga en cuenta que sysmail_update_account_sp el procedimiento almacenado está en msdb base de datos, y es propiedad de dbo esquema. Por lo tanto, deberá usar nombres de tres partes si lo ejecuta desde fuera de msdb base de datos.

También puede usar el sysmail_add_account_sp procedimiento almacenado para crear una nueva cuenta de correo de base de datos.