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

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

Si está configurando el correo electrónico de la base de datos para enviar correos electrónicos en SQL Server, deberá tener al menos una cuenta de correo electrónico de la base de datos.

Puede crear cuentas de Correo electrónico de base de datos con T-SQL ejecutando sysmail_add_account_sp procedimiento almacenado en el msdb base de datos.

La cuenta de correo electrónico de la base de datos es la cuenta que envía el correo electrónico. Por ejemplo, si tiene un correo electrónico automatizado que se envía cada vez que falla un trabajo del Agente SQL Server, esta es la cuenta que envía ese correo electrónico.

También puede especificar cosas como un correo electrónico de "respuesta a" separado, un nombre para mostrar, etc.

Puede tener varias cuentas para varias tareas si es necesario. Simplemente ejecute sysmail_add_account_sp cada vez que necesite crear una nueva cuenta.

Ejemplo

Este es un ejemplo de cómo crear una cuenta de correo electrónico de base de datos.

EXECUTE msdb.dbo.sysmail_add_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;

En este ejemplo, especifico un nombre para mostrar de "DB Automated Mailer". Este es un nombre fácil de usar que transmite al destinatario que envió el correo electrónico. Puede usar el "Agente SQL Server" o similar, según su configuración.

La sintaxis

El ejemplo anterior no incluye todas las opciones disponibles.

La sintaxis oficial es así:

sysmail_add_account_sp  [ @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 ]  
    [ , [ @enable_ssl = ] enable_ssl ]  
    [ , [ @account_id = ] account_id OUTPUT ]

Consulte la documentación de Microsoft para obtener una explicación detallada de cada argumento. Puede usar cualquier argumento que se adapte a su situación.

También puede usar el sysmail_update_account_sp procedimiento almacenado para actualizar una cuenta de correo de base de datos existente.

Configuración del correo electrónico de la base de datos

Crear una cuenta de correo electrónico de base de datos es solo una de las varias cosas que debe hacer antes de poder enviar correo electrónico con esa cuenta.

Una vez que haya creado la cuenta, deberá agregarla a un perfil (lo que significa que también deberá crear un perfil si aún no tiene uno). También deberá otorgar un usuario en msdb acceso a la base de datos del perfil.

Consulte Cómo enviar correo electrónico en SQL Server para ver un ejemplo completo de cómo configurar el correo electrónico de la base de datos y luego enviar un correo electrónico.