次の方法で共有


xp_deletemail (Transact-SQL)

Microsoft SQL Server 受信トレイからメッセージを削除します。このプロシージャは、sp_processmail で SQL Server 受信トレイのメールを処理する場合に使用されます。

ms174985.note(ja-jp,SQL.90).gifメモ :
この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新規の開発作業ではこの機能を使用しないようにし、現在この機能を使用しているアプリケーションは修正することを検討してください。

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

構文

xp_deletemail { 'message_id' }

引数

  • 'message_id'
    受信トレイで削除するメール メッセージの固有メッセージ番号を指定します。このメッセージ番号は、xp_findnextmsg で割り当てられます。message_id のデータ型は varchar(255) で、既定値はありません。

結果セット

xp_deletemail では、有効なメッセージ ID が渡された場合にメッセージが返されます。

解説

無効なパラメータ以外のエラーはすべて、Windows のアプリケーション ログに記録されます。

xp_deletemail では、受信トレイからメッセージが削除されますが、ファイル システムから添付ファイルは削除されません。添付ファイルは手動で削除する必要があります。xp_readmailsuppress_attach パラメータを TRUE に設定すると、添付ファイルが生成されないように制御できます。添付ファイルのセキュリティに関する問題の詳細については、「xp_readmail (Transact-SQL)」を参照してください。

xp_deletemail では、削除されたメッセージやメッセージを削除したユーザーのログは保持されません。このため、xp_deletemail を実行する権限が複数のユーザーに与えられている環境では、監査の問題が発生する場合があります。この問題を最小限に抑えるには、xp_deletemail の実行権限を、sysadmin 固定サーバー ロールのメンバだけに制限します。

権限

sysadmin 固定サーバー ロールのメンバシップが必要です。EXECUTE 権限は他のユーザーに与えることもできます。ただしセキュリティ上の理由から、このストアド プロシージャの実行権限は、sysadmin 固定サーバー ロールのメンバだけに制限することをお勧めします。

戻り値

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

次の例では、xp_findnextmsg から得られるメッセージ ID を取得し、そのメッセージ ID を使用してメッセージを削除します。xp_findnextmsg から取得した値は、ローカル変数 @message_id に格納されます。

DECLARE @message_id varchar(255) ;

USE master ;

EXEC xp_findnextmsg @msg_id = @message_id OUTPUT ;

EXEC xp_deletemail @message_id ;

参照

関連項目

sp_processmail (Transact-SQL)
システム ストアド プロシージャ (Transact-SQL)
xp_findnextmsg (Transact-SQL)
xp_readmail (Transact-SQL)
xp_sendmail (Transact-SQL)
xp_startmail (Transact-SQL)
xp_stopmail (Transact-SQL)

ヘルプおよび情報

SQL Server 2005 の参考資料の入手