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

SQL Server(T-SQL)のすべてのデータベースメールメッセージのステータスを確認する

    SQL Serverでデータベースメールを使用する場合は、sysmail_allitemsを使用できます。 データベースメールが処理したすべての電子メールのステータスを確認するために表示します。

    すべてのメールメッセージのステータスを確認する例を次に示します。これはmsdbで行う必要があることに注意してください データベース。

    SELECT * FROM msdb.dbo.sysmail_allitems;

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

    mailitem_id                 | 1
    profile_id                  | 1
    recipients                  | [email protected]
    copy_recipients             | NULL
    blind_copy_recipients       | NULL
    subject                     | SQL Server Agent Job: FAILED
    body                        | Your favorite SQL Server Agent job just failed
    body_format                 | TEXT
    importance                  | NORMAL
    sensitivity                 | NORMAL
    file_attachments            | NULL
    attachment_encoding         | MIME
    query                       | NULL
    execute_query_database      | NULL
    attach_query_result_as_file | 0
    query_result_header         | 1
    query_result_width          | 256
    query_result_separator      |  
    exclude_query_output        | 0
    append_query_error          | 0
    send_request_date           | 2020-08-24 02:40:48.093
    send_request_user           | sa
    sent_account_id             | NULL
    sent_status                 | failed
    sent_date                   | 2020-08-24 02:41:53.000
    last_mod_date               | 2020-08-24 02:41:53.290
    last_mod_user               | sa

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

    簡潔にするために、最初の行だけを表示しています(4行が返されましたが)。

    今回も4行すべてを表示することを除いて、ここにあります。今回は通常の水平出力に切り替えて、数列だけを指定します。

    SELECT
        mailitem_id,
        sent_status,
        send_request_date
    FROM msdb.dbo.sysmail_allitems;

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

    +---------------+---------------+-------------------------+
    | mailitem_id   | sent_status   | send_request_date       |
    |---------------+---------------+-------------------------|
    | 1             | failed        | 2020-08-24 02:40:48.093 |
    | 2             | failed        | 2020-08-24 02:47:40.833 |
    | 3             | sent          | 2020-08-24 03:58:57.887 |
    | 4             | sent          | 2020-08-24 04:11:19.300 |
    +---------------+---------------+-------------------------+

    1. MySQLで日付範囲の重複を確認する

    2. MYSQLからMYSQLIへの更新

    3. Oracleピボット演算子

    4. SQLServerピボットと複数結合