Si ya agregó una cuenta de Correo electrónico de base de datos a un perfil, pero ahora desea cambiar el número de secuencia, puede hacerlo con sysmail_update_profileaccount_sp
procedimiento almacenado.
Al hacer esto, debe proporcionar el nombre o la identificación tanto de la cuenta como del perfil. Esto se debe a que debe especificar exactamente qué perfil/asociación de cuenta desea actualizar.
Ejemplo
Aquí hay un ejemplo para demostrarlo:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_name = 'DB Admin Profile',
@account_name = 'DB Admin',
@sequence_number = 2;
Este ejemplo cambia el número de secuencia de la cuenta denominada "Administrador de base de datos" dentro del perfil denominado "Perfil de administrador de base de datos".
En este caso, cambié el número de secuencia a 2, lo que significa que la cuenta "DB Admin" solo se usará si falla la primera cuenta.
Uso del ID de perfil/cuenta
En este ejemplo, uso los ID de perfil y cuenta en lugar de sus nombres:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_id = 1,
@account_id = 1,
@sequence_number = 3;
Uso de una combinación de identificación y nombre
Alternativamente, puede proporcionar la identificación de uno y el nombre del otro.
Por ejemplo:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_name = 'DB Admin Profile',
@account_id = 1,
@sequence_number = 4;
O al revés:
EXECUTE msdb.dbo.sysmail_update_profileaccount_sp
@profile_id = 1,
@account_name = 'DB Admin',
@sequence_number = 1;
¿Cómo funciona el número de secuencia?
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 esas cuentas en el perfil al enviar correo. 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.
Debo señalar que, según este artículo de Microsoft, cuando envía un nuevo mensaje de correo electrónico, Database Mail en realidad comienza con la última cuenta que envió un mensaje con éxito , o la cuenta que tenga el número de secuencia más bajo si aún no se ha enviado ningún mensaje.
El hecho de que comience con la última cuenta que envió un mensaje con éxito no se menciona en la documentación oficial de sysmail_add_profileaccount_sp
o sysmail_update_profileaccount_sp
.
De cualquier manera, es algo a tener en cuenta, y podría evitar que se arranque los pelos si su DB Mail parece estar ignorando sus números de secuencia.
Ubicación del procedimiento almacenado
Tenga en cuenta que sysmail_update_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.
Cómo devolver información de cuenta y perfil
Los siguientes artículos brindan instrucciones para devolver información de cuenta y perfil.
- Obtener una lista de cuentas de correo de base de datos en SQL Server
- Devolver una lista de perfiles de correo de base de datos en SQL Server