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

Agregar una cuenta de correo de base de datos a un perfil (T-SQL)

En SQL Server, Database Mail usa perfiles para enviar el correo electrónico en lugar de cuentas directamente.

Por lo tanto, primero debe crear un perfil y crear una cuenta, luego agregar la cuenta al perfil. También debe otorgar un usuario en msdb acceso a la base de datos del perfil.

Para agregar una cuenta de Correo electrónico de base de datos a un perfil con T-SQL, use sysmail_add_profileaccount_sp procedimiento almacenado en msdb base de datos.

Ejemplo

Este es un ejemplo de cómo agregar una cuenta de Correo electrónico de base de datos a un perfil de Correo electrónico de base de datos usando T-SQL.

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_name = 'DB Admin Profile',  
    @account_name = 'DB Admin',  
    @sequence_number = 1;

En este caso agrego la cuenta “DB Admin” al perfil “DB Admin Profile”.

Esto supone que el perfil y la cuenta ya existen.

Puede agregar varias cuentas a un perfil de Correo electrónico de base de datos. El número de secuencia determina el orden en que se utilizan las cuentas en el perfil. Correo electrónico de base de datos comienza con la cuenta que tiene el número de secuencia más bajo. Si esa cuenta falla, se utiliza la cuenta con el siguiente número de secuencia más alto, y así sucesivamente.

Si existe más de una cuenta con el mismo número de secuencia, el Correo electrónico de base de datos solo usará una de esas cuentas para un mensaje de correo electrónico determinado.

Sin embargo, no hay garantía de que se utilice la misma cuenta para mensajes posteriores. Por ejemplo, si dos cuentas comparten un número de secuencia de 1, es posible que reciba algunos correos electrónicos de una cuenta y algunos de la otra cuenta.

Especifique ID de cuenta/perfil

Alternativamente, puede especificar la identificación del perfil y/o la identificación de la cuenta en lugar de sus nombres.

Por lo tanto, podríamos cambiar el ejemplo anterior para que se vea así:

EXECUTE msdb.dbo.sysmail_add_profileaccount_sp  
    @profile_id = 1,  
    @account_id = 1,  
    @sequence_number = 1;

Obviamente, esto supone que esos son los ID de las cuentas en cuestión.

Tenga en cuenta que se debe proporcionar el nombre o la identificación.

Además, al proporcionar los ID, se proporcionan como int .

Tenga en cuenta que sysmail_add_profileaccount_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.