sysmail_delete_profile_sp (Transact-SQL)

Applies to: SQL Server

Deletes a mail profile used by Database Mail.

Transact-SQL syntax conventions


sysmail_delete_profile_sp { [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' }
[ ; ]


[ @profile_id = ] profile_id

The profile ID of the profile to be deleted. @profile_id is int, with a default of NULL. Either @profile_id or @profile_name must be specified.

[ @profile_name = ] 'profile_name'

The name of the profile to be deleted. @profile_name is sysname, with a default of NULL. Either @profile_id or @profile_name must be specified.

Return code values

0 (success) or 1 (failure).

Result set



Deleting a profile doesn't delete the accounts used by the profile.

This stored procedure deletes the profile regardless of whether users have access to the profile. Use caution when removing the default private profile for a user or the default public profile for the msdb database. When no default profile is available, sp_send_dbmail requires the name of a profile as an argument. Therefore, removing a default profile may cause calls to sp_send_dbmail to fail. For more information, see sp_send_dbmail (Transact-SQL).

The stored procedure sysmail_delete_profile_sp is in the msdb database and is owned by the dbo schema. The procedure must be executed with a three-part name if the current database isn't msdb.


This stored procedure is owned by the db_owner role. You can grant EXECUTE permissions for any user, but these permissions may be overridden during a SQL Server upgrade.


The following example shows deleting the profile named AdventureWorks Administrator.

EXEC msdb.dbo.sysmail_delete_profile_sp
    @profile_name = 'AdventureWorks Administrator';

See also