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

Listar las cuentas asociadas con un perfil de correo de base de datos en SQL Server

En SQL Server, puede usar sysmail_help_profileaccount_sp procedimiento almacenado en msdb base de datos para recuperar una lista de todas las asociaciones entre cuentas y perfiles de correo electrónico de base de datos.

También puede devolver información de la cuenta según el nombre/ID de la cuenta o el nombre/ID del perfil.

Devolver todas las asociaciones

Para devolver todas las asociaciones, simplemente ejecute el procedimiento almacenado sin ningún parámetro.

EXEC msdb.dbo.sysmail_help_profileaccount_sp;

Resultado (usando salida vertical):

profile_id      | 1
profile_name    | DB Admin Profile
account_id      | 1
account_name    | DB Admin
sequence_number | 1

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 asociación, por lo que solo se devuelve una fila.

Tenga en cuenta que sysmail_help_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 msdb no es la base de datos actual.

Basado en el nombre/ID de la cuenta

Puede limitarlo a una sola cuenta pasando el nombre de cuenta o ID como parámetro.

El nombre de la cuenta es el nombre de la cuenta creada con sysmail_add_account_sp procedimiento almacenado en msdb base de datos.

Así es como pasar el nombre de la cuenta:

EXEC msdb.dbo.sysmail_help_profileaccount_sp
    @account_name = 'DB Admin';

Y así es como pasar la identificación:

EXEC msdb.dbo.sysmail_help_profileaccount_sp
    @account_id = 1;

Tenga en cuenta que @account_id se proporciona como un int .

Basado en el nombre/ID del perfil

Alternativamente, puede reducirlo a un solo perfil pasando el nombre o ID del perfil como parámetro.

Aquí se explica cómo pasar el nombre del perfil:

EXEC msdb.dbo.sysmail_help_profileaccount_sp
    @profile_name = 'DB Admin Profile';

Y así es como pasar la identificación del perfil:

EXEC msdb.dbo.sysmail_help_profileaccount_sp
    @profile_id = 1;

Tenga en cuenta que @profile_id se proporciona como un int .