sysmail_stop_sp (Transact-SQL)

适用于:SQL Server

通过停止外部程序使用的 Service Broker 对象来停止数据库邮件。

Transact-SQL 语法约定

语法

sysmail_stop_sp
[ ; ]

参数

无。

返回代码值

0(成功)或 1(失败)。

注解

此存储过程位于 msdb 数据库中。

sysmail_stop_sp停止保存传出消息请求的数据库邮件队列,并关闭外部程序的 Service Broker 激活。

当队列停止时,数据库邮件外部程序不会处理消息。 通过此存储过程可以停止数据库邮件,以进行故障排除或维护。

若要开始数据库邮件,请使用 sysmail_start_sp。 请注意, sp_send_dbmail 在 Service Broker 对象停止时仍接受邮件。

注意

sysmail_stop_sp仅停止数据库邮件的队列。 此存储过程不会停用数据库中的 Service Broker 消息传递。 此存储过程不会禁用数据库邮件扩展存储过程以减少外围应用。 若要禁用扩展存储过程,请参阅系统存储过程的 数据库邮件 XP 选项sp_configure

权限

此存储过程由 db_owner 角色拥有。 你可以为任何用户授予 EXECUTE 权限,但这些权限可能会在 SQL Server 升级期间被重写。

示例

以下示例演示如何停止数据库中的数据库邮件msdb。 该示例假设数据库邮件已启用。

USE msdb;
GO

EXECUTE dbo.sysmail_stop_sp;
GO