Share via


sysmail_stop_sp (Transact-SQL)

外部プログラムが使用している Service Broker オブジェクトを停止して、データベース メールを停止します。

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sysmail_stop_sp

引数

なし

リターン コード値

0 (成功) または 1 (失敗)

説明

このストアド プロシージャは、msdb データベースにあります。

このストアド プロシージャは、送信メッセージ要求を保持しているデータベース メール キューを停止し、外部プログラムに対する Service Broker のアクティブ化をオフにします。

キューが停止すると、データベース メール外部プログラムではメッセージが処理されなくなります。このストアド プロシージャを使用すると、トラブルシューティングやメンテナンスの目的でデータベース メールを停止できます。

データベース メールを開始するには、sysmail_start_sp を使用します。Service Broker オブジェクトが停止していても、sp_send_dbmail では引き続きメールを受け取ることができる点に注意してください。

注意

このストアド プロシージャは、データベース メールのキューだけを停止します。データベースでの Service Broker のメッセージ配信は非アクティブになりません。Service Broker のメッセージ配信を非アクティブ化する方法については、「データベースで Service Broker のメッセージ配信を非アクティブ化する方法 (Transact-SQL)」を参照してください。このストアド プロシージャでは、外部からのアクセスを縮小するために、データベース メールの拡張ストアド プロシージャを無効にすることはできません。拡張ストアド プロシージャを無効にする方法については、sp_configure システム ストアド プロシージャの「Database Mail XPs オプション」を参照してください。

権限

このプロシージャの実行権限は、既定では sysadmin 固定サーバー ロールのメンバに与えられています。

次の例では、msdb データベースでデータベース メールを停止します。ここではデータベース メールが有効になっていることを前提としています。

USE msdb ;
GO

EXECUTE dbo.sysmail_stop_sp ;
GO