sysmail_stop_sp (Transact-SQL)

Applies to: SQL Server

Stops Database Mail by stopping the Service Broker objects that the external program uses.

Transact-SQL syntax conventions

Syntax

sysmail_stop_sp
[ ; ]

Arguments

None.

Return code values

0 (success) or 1 (failure).

Remarks

This stored procedure is in the msdb database.

sysmail_stop_sp stops the Database Mail queue that holds outgoing message requests and turns off Service Broker activation for the external program.

When the queues are stopped, the Database Mail external program doesn't process messages. This stored procedure allows you to stop Database Mail for troubleshooting or maintenance purposes.

To start Database Mail, use sysmail_start_sp. sp_send_dbmail still accepts mail when the Service Broker objects are stopped.

Note

sysmail_stop_sp only stops the queues for Database Mail. This stored procedure doesn't deactivate Service Broker message delivery in the database. This stored procedure doesn't disable the Database Mail extended stored procedures to reduce the surface area. To disable the extended stored procedures, see the Database Mail XPs (server configuration option) of the sp_configure system stored procedure.

Permissions

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.

Examples

The following example shows stopping Database Mail in the msdb database. The example assumes that Database Mail has been enabled.

USE msdb;
GO

EXECUTE dbo.sysmail_stop_sp;
GO