Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Trả lại danh sách email được gửi từ thư cơ sở dữ liệu SQL Server (T-SQL)

Nếu bạn sử dụng Thư cơ sở dữ liệu trong SQL Server, bạn có thể sử dụng sysmail_sentitems xem để trả về danh sách tất cả các email mà Thư Cơ sở dữ liệu đã gửi.

Ví dụ

Dưới đây là một ví dụ về việc trả lại tất cả các email đã gửi. Lưu ý rằng điều này cần được thực hiện trên msdb cơ sở dữ liệu.

SELECT * FROM msdb.dbo.sysmail_sentitems;

Kết quả (sử dụng đầu ra dọc):

mailitem_id                 | 3
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 03:58:57.887
send_request_user           | sa
sent_account_id             | 1
sent_status                 | sent
sent_date                   | 2020-08-24 03:59:01.000
last_mod_date               | 2020-08-24 03:59:01.543
last_mod_user               | sa

Tôi đã sử dụng đầu ra dọc ở đây để bạn không cần phải cuộn sang ngang để xem tất cả các cột.

Tôi cũng chỉ hiển thị hàng đầu tiên (mặc dù hai hàng đã được trả về), để giữ mọi thứ ngắn gọn.

Đây là một lần nữa, ngoại trừ lần này, tôi sẽ chuyển sang đầu ra theo chiều ngang và hiển thị cả hai hàng. Ngoài ra, tôi sẽ chỉ xác định một vài cột.

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

Kết quả (sử dụng đầu ra dọc):

+---------------+---------------+-------------------------+-------------------------+
| mailitem_id   | sent_status   | send_request_date       | sent_date               |
|---------------+---------------+-------------------------+-------------------------|
| 3             | sent          | 2020-08-24 03:58:57.887 | 2020-08-24 03:59:01.000 |
| 4             | sent          | 2020-08-24 04:11:19.300 | 2020-08-24 04:11:22.000 |
+---------------+---------------+-------------------------+-------------------------+

Bạn có thể truy vấn sysmail_unsentitems để trả về danh sách các email chưa gửi (những email chưa được gửi, không nhất thiết là không gửi được).

Bạn cũng có thể truy vấn sysmail_faileditems để nhận tất cả các email không thành công.

Bạn cũng có thể truy vấn sysmail_allitems để nhận tất cả các email (đã gửi, chưa gửi, không thành công và đang thử lại).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cài đặt SQL Server trên máy Mac M1 (ARM64)

  2. Gặp lỗi kỳ lạ, truy vấn SQL Server sử dụng mệnh đề `WITH`

  3. Cách đặt đối chiếu của một cột trong SQL Server (T-SQL)

  4. Lưu trữ một tệp trong cơ sở dữ liệu trái ngược với hệ thống tệp?

  5. MSSQL Biểu thức chính quy