sql >> データベース >  >> RDS >> Sqlserver

SQL Server(T-SQL)のデータベースメールのキューにあるメールアイテムの数を確認する

    SQL Serverでは、sysmail_help_queue_spを使用できます。 msdbのストアドプロシージャ データベースを使用して、キューにあるメールアイテムの数、キューのステータス、および最後にアクティブ化された日時を確認します。

    キューには、メールキューとステータスキューの2種類があります。

    キューの種類に基づいてアカウント情報を返すこともできます。

    キュー内のすべてのアイテムを返す

    キューからすべてのアイテムを返すには、パラメータなしでストアドプロシージャを実行するだけです。

    EXEC msdb.dbo.sysmail_help_queue_sp;

    結果(垂直出力を使用):

    -[ RECORD 1 ]-------------------------
    queue_type             | mail
    length                 | 0
    state                  | INACTIVE
    last_empty_rowset_time | 2020-08-25 22:25:02.637
    last_activated_time    | 2020-08-25 22:25:02.637
    -[ RECORD 2 ]-------------------------
    queue_type             | status
    length                 | 0
    state                  | INACTIVE
    last_empty_rowset_time | 2020-08-25 22:25:02.637
    last_activated_time    | 2020-08-25 22:25:02.637

    すべての列を表示するために横にスクロールする必要がないように、垂直出力を使用して結果をリストしました。

    私の場合、キューに2つのメールアイテムがあるため、2つの行が返されます。

    last_empty_rowset_time 列には、キューが最後に空になった日時が表示されます。

    last_activated_time 列には、キューが最後にアクティブ化された日時が表示されます。

    sysmail_help_queue_spに注意してください ストアドプロシージャはmsdbにあります データベースであり、dboが所有しています スキーマ。したがって、msdbの場合は、3つの部分からなる命名を使用する必要があります 現在のデータベースではありません。

    キュータイプでフィルタリング

    前述のように、キューには2つのタイプ(メールとステータス)があります。キューの種類に基づいてアイテムを返品することもできます。

    これを行うには、@queue_typeを指定します パラメータを設定し、目的のキュータイプを指定します。

    メールからすべてのアイテムを返品するには キュー:

    EXEC msdb.dbo.sysmail_help_queue_sp
        @queue_type = 'mail';

    結果:

    queue_type             | mail
    length                 | 0
    state                  | INACTIVE
    last_empty_rowset_time | 2020-08-25 22:25:02.637
    last_activated_time    | 2020-08-25 22:25:02.637

    ステータスからすべてのアイテムを返すには キュー:

    EXEC msdb.dbo.sysmail_help_queue_sp
        @queue_type = 'status';

    結果:

    queue_type             | status
    length                 | 0
    state                  | INACTIVE
    last_empty_rowset_time | 2020-08-25 22:25:02.637
    last_activated_time    | 2020-08-25 22:25:02.637

    1. Postgresでのみ関数のバックアップを取る方法

    2. DAYOFWEEK()の例– MySQL

    3. PostgreSQLで一時関数を作成するにはどうすればよいですか?

    4. MySQLは結合されたテーブルを更新します