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

Encuentre las asociaciones entre las cuentas de correo de la base de datos y los principales de la base de datos en SQL Server (T-SQL)

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

También puede devolver información de la cuenta basada en el nombre/identificación principal o el nombre/identificación 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_principalprofile_sp;

Resultado (usando salida vertical):

principal_id   | 25
principal_name | Marge
profile_id     | 1
profile_name   | DB Admin Profile
is_default     | 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.

Tenga en cuenta que sysmail_help_principalprofile_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 principal

Puede limitarlo a un solo principal pasando el nombre o ID del principal como parámetro.

El nombre principal es el nombre del usuario o rol de la base de datos en msdb base de datos.

Así es como pasar el nombre principal:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @principal_name = 'Marge';

Y así es como pasar la identificación principal:

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @principal_id = 25;

Tenga en cuenta que @principal_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_principalprofile_sp
    @profile_name = 'DB Admin Profile';

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

EXEC msdb.dbo.sysmail_help_principalprofile_sp
    @profile_id = 1;

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