sysmail_delete_principalprofile_sp (Transact-SQL)
Applies to: SQL Server
Removes permission for a database user or role to use a public or private Database Mail profile.
Transact-SQL syntax conventions
Syntax
sysmail_delete_principalprofile_sp { [ @principal_id = ] principal_id | [ @principal_name = ] 'principal_name' } ,
{ [ @profile_id = ] profile_id | [ @profile_name = ] 'profile_name' }
[ ; ]
Arguments
[ @principal_id = ] principal_id
The ID of the database user or role in the msdb
database for the association to delete. @principal_id is int, with a default of NULL
. To make a public profile into a private profile, provide the principal ID 0
or the principal name public
. Either @principal_id or @principal_name must be specified.
[ @principal_name = ] 'principal_name'
The name of the database user or role in the msdb
database for the association to delete. @principal_name is sysname, with a default of NULL
. To make a public profile into a private profile, provide the principal ID 0
or the principal name public
. Either @principal_id or @principal_name must be specified.
[ @profile_id = ] profile_id
The ID of the profile for the association to delete. @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 for the association to delete. @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).
Remarks
To make a public profile into a private profile, provide 'public' for the principal name or 0
for the principal ID.
Use caution when removing permissions for the default private profile for a user or the default public profile. When no default profile is available, sp_send_dbmail
requires the name of a profile as an argument. Therefore, removing a default profile causes calls to sp_send_dbmail
to fail. For more information, see sp_send_dbmail.
The stored procedure sysmail_delete_principalprofile_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
.
Permissions
You can grant EXECUTE
permissions on this procedure, but these permissions might be overridden during a SQL Server upgrade.
Examples
The following example shows deleting the association between the profile AdventureWorks Administrator
and the login ApplicationUser
in the msdb
database.
EXEC msdb.dbo.sysmail_delete_principalprofile_sp
@principal_name = 'ApplicationUser',
@profile_name = 'AdventureWorks Administrator';