Udostępnij za pośrednictwem


Rozwiązywanie problemów z poczty bazy danych: Kolejkowane poczty nie dostarczone

W tym temacie opisano sposób rozwiązywania problemu, gdy pomyślnie są umieszczane w kolejce wiadomości e-mail, ale nie są dostarczane wiadomości.

Zdiagnozowanie problemu

Zewnętrzny program poczty bazy danych rejestruje działania e-mail w msdb bazy danych.

Najpierw należy upewnić się, że jest włączona poczta bazy danych, użyj Opcja XPs poczty bazy danych z sp_configure systemowa procedura składowana.

Następnie należy wykonać następujące instrukcja w msdb bazy danych, aby sprawdzić stan kolejki poczty:

sysmail_help_queue_sp @queue_type = 'Mail' ;

Szczegółowe wyjaśnienie kolumn zobacz "Zestawu wyników" sekcja w sysmail_help_queue_sp (języka Transact-SQL).

Sprawdź, czy sysmail_event_log widok dla działania.Widok powinien zawierać wpis stwierdzający rozpoczęto zewnętrzny program poczty bazy danych.Jeśli brak wpisu w sysmail_event_log wyświetlania, zobacz symptom wiadomości w kolejce, pozycje nr sysmail_event_log.Jeśli występują błędy w sysmail_event_log wyświetlanie, rozwiązywanie problemów z konkretnego błędu.

Jeżeli istnieją zapisy w sysmail_event_log wyboru widoku sysmail_allitems widok dla stanu wiadomości.

Stan wiadomości niewysłany

Stan Niewysłane wskazuje, że zewnętrzny program poczty bazy danych nie ma jeszcze przetworzone wiadomości e-mail.Zewnętrzny program poczty bazy danych może obniżać przetwarzanie wiadomości; szybkość, z jaką program zewnętrzny przetwarza wiadomości zależy od warunków sieciowych, próba czas-out, wielkość wiadomości i pojemności serwera SMTP.Jeśli problem nie ustąpi, rozważyć użycie więcej niż jeden profil do dystrybucji wiadomości między więcej niż jednego serwera SMTP.

Sprawdź ostatniej modyfikacji data pomyślnie dostarczane wiadomości.Jeśli w ostatnim pomyślnym dostarczeniu wystąpił niektóre czas temu sprawdzić sysmail_event_log widok, aby zweryfikować, że zewnętrzny program został pomyślnie uruchomiony przez Service Broker.Jeśli ostatnia próba nie został uruchomiony program zewnętrzny, sprawdź, czy Bazy danych poczty zewnętrzny Program znajduje się w poprawnym katalogu oraz że konto usługa, dla SQL Server ma uprawnienia do uruchomienia pliku wykonywalnego.

Ostrzeżenie

Aby usunąć stare, nie wysłane wiadomości, poczekaj, aż niemożliwy do dostarczenia wiadomości są najstarszych wiadomości w kolejce, a następnie użyj sysmail_delete_mailitems_sp je usunąć.

Komunikat stanu ponawianie

Ponawianie stan wskazuje, że próbował dostarczyć wiadomości do serwera SMTP poczty bazy danych, ale nie.Zazwyczaj jest to spowodowane przerwy w sieci, awaria serwera SMTP lub niepoprawnie skonfigurowane konto pocztowe bazy danych.Wiadomość powinna zdarzenieually pomyślnie lub nie powiedzie się i ogłaszanie wiadomości zdarzenie dziennika.

Stan wiadomości wysłane

Stan wysyłane wskazuje, że program zewnętrznej bazy danych poczty pomyślnie dostarczane wiadomości e-mail do serwera SMTP.Wiadomość nie przybyć do obiekt docelowy, serwer SMTP zaakceptowane wiadomości z poczty bazy danych, ale nie dostarczenie wiadomości do odbiorcy końcowego.Sprawdź dzienniki serwera SMTP lub skontaktuj się z administratorem serwera SMTP.Serwer poczty SMTP może również testować przy użyciu innego klient, takie jak Outlook Express.

Stan wiadomości nie powiodło się.

Stan nie powiodło się wskazuje, że zewnętrzny program poczty bazy danych nie może dostarczyć wiadomości do serwera SMTP.W takim przypadek sysmail_event_log widok zawiera szczegółowe informacje z programu zewnętrznego.Na przykładowej kwerendy, która dołącza sysmail_faileditems i sysmail_event_log pobrać szczegółowe komunikaty o błędach, zobacz Jak Sprawdź stan wiadomości E-Mail wysyłane pocztą bazy danych (Transact-SQL).Najbardziej typowe przyczyny niepowodzenia są niepoprawne obiekt docelowy adres lub problemy z siecią, które uniemożliwiają osiągnięcie jednego lub więcej rachunków pracy awaryjnej programu zewnętrznego.Przyczyną tego serwera do odrzucania poczty może być również problemy na serwerze SMTP.Przy użyciu Kreatora konfiguracji poczty bazy danych, zmień Poziom rejestrowania do pełne i wysyłania wiadomości testowe do zbadania punktem awarii.