Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Проверете за неуспешен имейл в SQL Server (T-SQL)

Ако се опитвате да изпращате поща със SQL Server, но тя не се доставя, опитайте да проверите sysmail_faileditems изглед.

Пример

Ето пример за проверка за неуспешна поща. Имайте предвид, че трябва да се стартира на msdb база данни.

SELECT * FROM msdb.dbo.sysmail_faileditems;

Резултат (с помощта на вертикален изход):

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

Използвах вертикален изход тук, така че да не е нужно да превъртате настрани, за да видите всички колони.

В този случай показвам един неуспешен имейл. Всъщност имах два неуспешни имейла, но реших, че е по-кратко да покажа само един резултат.

В моя случай използвах грешен пощенски сървър в кода, който изпраща имейла, и имейлите се провалиха. Веднага след като актуализирах кода, за да използвам правилния пощенски сървър, всички следващи имейли бяха изпратени успешно. Това обаче не променя тези, които вече са се провалили, и следователно те остават в sysmail_faileditems изглед.

Можете да заявите sysmail_unsentitems за да върнете списък с неизпратени имейли (тези, които тепърва ще бъдат изпратени, не е непременно неуспешни).

Можете също да направите заявка за sysmail_sentitems за да получите всички изпратени имейли.

Можете също да направите заявка за sysmail_allitems за да получите всички имейли (изпратени, неизпратени, неуспешни и повторни опити).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Кога трябва да използвам променлива на таблица срещу временна таблица в sql сървър?

  2. Как да огранича NULL като параметър до съхранената процедура SQL Server?

  3. Правилно използване на транзакциите в SQL Server

  4. OPENJSON „Неправилен синтаксис близо до ключовата дума „с“.“ в SQL Server (РЕШЕНО)

  5. Намерете максимална стойност и покажете съответната стойност от различно поле в SQL сървър