En SQL Server, puede usar el sysmail_help_account_sp
procedimiento almacenado en msdb
base de datos para recuperar una lista de todas las cuentas de correo electrónico de la base de datos.
También puede devolver información de la cuenta según su nombre de cuenta o ID.
Ejemplo
Aquí hay un ejemplo para demostrarlo.
EXEC msdb.dbo.sysmail_help_account_sp;
Resultado (usando salida vertical):
account_id | 1 name | DB Admin description | Mail account for admin emails. email_address | [email protected] display_name | DB Automated Mailer replyto_address | [email protected] servertype | SMTP servername | smtp.example.com port | 25 username | NULL use_default_credentials | 0 enable_ssl | 0
He enumerado los resultados utilizando la salida vertical para que no tenga que desplazarse hacia los lados para ver todas las columnas.
En mi caso, solo hay una cuenta de correo de base de datos.
Tenga en cuenta que sysmail_help_account_sp
el procedimiento almacenado está en msdb
base de datos, y es propiedad de dbo
esquema. Por lo tanto, deberá usar el nombre de tres partes (como en mi ejemplo) si msdb
no es la base de datos actual.
Devolver solo una cuenta
Aunque solo tengo una cuenta de correo de base de datos en mi sistema, aquí hay un ejemplo de cómo devolver una sola cuenta.
Como se mencionó, puede usar el nombre de la cuenta o su ID. Este es un ejemplo de devolución por ID de cuenta:
EXEC msdb.dbo.sysmail_help_account_sp
@account_id = 1;
Debe proporcionar el ID de la cuenta como un int .
Y aquí hay un ejemplo de devolverlo por nombre:
EXEC msdb.dbo.sysmail_help_account_sp
@account_name = 'DB Admin';
El nombre de la cuenta es sysname .
¿La cuenta no es válida?
Proporcionar un ID de cuenta que no existe devuelve el siguiente error:
Msg 14606, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 33 account id is not valid
Proporcionar un nombre de cuenta que no existe devuelve el siguiente error:
Msg 14607, Level 16, State 1, Procedure msdb.dbo.sysmail_verify_account_sp, Line 42 account name is not valid