Troubleshooting SQL Server blocked access to procedure ‘dbo.sp_send_dbmail’ of component ‘Database Mail XPs’ because this component is turned off as part of the security configuration for this server
Introduction
While trying to execute MSDB..SP_SEND_DBMAIL system procedure to test email functionality so that it can be incorporated within an SQL Server Agent Job to send success messages whenever Full Database Backup has completed successfully. However, the execution of MSDB..SP_SEND_DBMAIL stored procedure failed with the below mentioned error. In this article we will take a look at the steps you need to follow to resolve this issue. The resolution steps are applicable to SQL Server 2005 and higher versions.
Error Message
Executed as user: Domain\Username. SQL Server blocked access to procedure 'dbo.sp_send_dbmail' of component 'Database Mail XPs' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Database Mail XPs' by using sp_configure. For more information about enabling 'Database Mail XPs', see "Surface Area Configuration" in SQL Server Books Online. [SQLSTATE 42000] (Error 15281). The step failed.
Related Articles
- How to Backup Database in SQL Server
- How to Restore Database in SQL Server
- Performance Dashboard Reports in SQL Server 2012
- Tips to Avoid Account Lockout Issues
- Encrypt Database Backups in SQL Server Using MEDIAPASSWORD Option
- Using SP_SERVER_DIAGNOSTICS Stored Procedure Quickly Gather Diagnostic Data and Health Information in SQL Server 2012
- Why an SQL Server Database from a higher version cannot be restored onto a lower version?
- How to identify if the database was upgraded from a previous version of SQL Server
- Using Transparent Data Encryption Feature of SQL Server 2008
- Configuring Database Instant File Initialization Feature of SQL Server
- Changing the default location of SQL Server Data and Log files
- Changing Default SQL Server Backup Folder in SQL Server 2008
- How to repair a Suspect Database in SQL Server
- Steps to Rebuild System Databases in SQL Server
- How to Get Exclusive Access to SQL Server Database
Send Email using SP_SEND_DBMAIL system stored procedure available in MSDB database
Execute the below mentioned TSQL code to send email using SP_SEND_DBMAIL Stored Procedure.
EXEC msdb..sp_send_dbmail
@profile_name = 'EMailProfile',
@recipients = 'user@domain.com',
@body = 'Success - Full Database Backup',
@subject = 'Full Database Backup of all the database is completed successfully.'
Resolution
In order to resolve this issue a database administrator can connect to SQL Server Instance with System Administrator (SA) Privileges and execute the below mentioned TSQL Statement to enable Database Mail XPs feature of SQL Server.
USE MASTER
GO
SP_CONFIGURE 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
GO
/* Enable Database Mail XPs Advanced Options in SQL Server */
SP_CONFIGURE 'Database Mail XPs', 1
RECONFIGURE WITH OVERRIDE
GO
SP_CONFIGURE 'show advanced options', 0
RECONFIGURE WITH OVERRIDE
GO
In the above TSQL code snippet you could see that once the Database Mail XPs feature is enabled we have gone ahead and disabled Show Advanced Options of SP_CONFIGURE system stored procedure.