sysmail_delete_mailitems_sp (Transact-SQL)
更新 : 2006 年 4 月 14 日
データベース メールの内部テーブルから電子メール メッセージを完全に削除します。
構文
sysmail_delete_mailitems_sp [ [ @sent_before = ] 'sent_before' ]
[ , [ @sent_status = ] 'sent_status' ]
引数
- [ @sent_before= ] 'sent_before'
sent_before 引数で指定した日時より前の電子メールを削除します。sent_before のデータ型は datetime で、既定値は NULL です。NULL はすべての日付を表します。
- [ @sent_status= ] 'sent_status'
sent_status で指定した種類の電子メールを削除します。sent_status のデータ型は varchar(8) で、既定値はありません。有効な入力値は、sent、unsent、retrying、および failed です。NULL はすべての状態を表します。
リターン コードの値
0 (成功) または 1 (失敗)
解説
データベース メールのメッセージとその添付ファイルは、msdb データベースに格納されます。これらのメッセージは、msdb が予定外に大きくならないようにするため、また、組織のドキュメント保管計画に従って、定期的に削除することをお勧めします。sysmail_delete_mailitems_sp ストアド プロシージャは、データベース メールのテーブルから電子メール メッセージを完全に削除するときに使用します。日時を指定する引数を使用すると、古い電子メールだけを削除できます。この場合、引数で指定した日時より前の電子メールが削除されます。また、種類を指定する引数 sent_status を使用すると、特定の種類の電子メールだけを削除できます。SQL Server 2005 Service Pack 1 以降では、@sent_before または @sent_status のいずれかに引数を指定する必要があります。両方の引数に NULL を指定することはできません。
電子メールを削除すると、そのメッセージに関係する添付ファイルも削除されます。電子メールを削除しても、sysmail_event_log 内の対応するエントリは削除されません。ログからアイテムを削除するには、sysmail_delete_log_sp を使用します。
権限
既定では、このストアド プロシージャの実行権限は sysadmin 固定サーバー ロールと DatabaseMailUserRole のメンバに与えられています。sysadmin 固定サーバー ロールのメンバは、このプロシージャを実行すると、すべてのユーザーから送信された電子メールを削除できます。DatabaseMailUserRole のメンバは、そのユーザーが送信した電子メールだけを削除できます。
例
A. すべての電子メールを削除する
次の例では、データベース メール システムにあるすべての電子メールを削除します。
DECLARE @GETDATE datetime
SET @GETDATE = GETDATE()
EXECUTE msdb.dbo.sysmail_delete_mailitems_sp @sent_before = @GETDATE;
GO
B. 古い電子メールを削除する
次の例では、データベース メール ログにある電子メールのうち、October 9, 2005
より前の電子メールを削除します。
EXECUTE msdb.dbo.sysmail_delete_mailitems_sp
@sent_before = 'October 9, 2005' ;
GO
C. 特定の種類のすべての電子メールを削除する
次の例では、データベース メール ログにある失敗した電子メールをすべて削除します。
EXECUTE msdb.dbo.sysmail_delete_mailitems_sp
@sent_status = 'failed' ;
GO
参照
関連項目
sysmail_allitems (Transact-SQL)
sysmail_event_log (Transact-SQL)
sysmail_mailattachments (Transact-SQL)
その他の技術情報
データベース メール メッセージやイベント ログをアーカイブする SQL Server エージェント ジョブを作成する方法
データベース メールのトラブルシューティング
ヘルプおよび情報
変更履歴
リリース | 履歴 |
---|---|
2006 年 4 月 14 日 |
|