In SQL Server, you can use the sysmail_help_profile_sp
stored procedure on the msdb
database to retrieve a list of all Database Mail profiles.
You can also return profile info based on the profile name or ID.
Return All Profiles
To return all profiles, simply execute the stored procedure without any parameters.
EXEC msdb.dbo.sysmail_help_profile_sp;
Result:
+--------------+------------------+---------------------------+ | profile_id | name | description | |--------------+------------------+---------------------------| | 1 | DB Admin Profile | Profile for admin emails. | +--------------+------------------+---------------------------+
In my case, there’s just one profile. The name and description were previously provided by myself when I added this profile with the sysmail_add_profile_sp
stored procedure.
Note that the sysmail_add_profile_sp
stored procedure is in the msdb
database and is owned by the dbo
schema. Therefore, you’ll need to use three-part naming if msdb
is not the current database.
Based on Profile Name
Alternatively, you can narrow it down to just a single profile by passing the profile name or ID as a parameter.
Here’s how to pass the profile name:
EXEC msdb.dbo.sysmail_help_profile_sp
@profile_name = 'DB Admin Profile';
Based on Profile ID
And here’s how to pass the profile ID:
EXEC msdb.dbo.sysmail_help_profile_sp
@profile_id = 1;
Note that @profile_id
is provided as an int.