| Termin | Definicja |
|---|---|
| Database Mail | Database Mail to mechanizm SQL Server umożliwiający wysyłkę wiadomości e-mail bezpośrednio z poziomu bazy danych. Rola Database Mail w SQL ServerDatabase Mail to wbudowany w Microsoft SQL Server mechanizm służący do wysyłania wiadomości poczty elektronicznej z poziomu aparatu bazodanowego. Pozwala przekazywać komunikaty generowane przez procedury składowane, zadania SQL Server Agent, alerty oraz inne elementy środowiska SQL Server. Wiadomość jest przygotowywana przez procedurę Database Mail nie jest osobnym serwerem pocztowym. SQL Server korzysta z określonego profilu Database Mail i przypisanego do niego konta pocztowego, które zawiera dane potrzebne do połączenia z serwerem SMTP. Profil może być publiczny albo prywatny. Profil publiczny może być używany przez uprawnionych użytkowników bez indywidualnego przypisania, natomiast profil prywatny jest dostępny tylko dla wskazanych podmiotów zabezpieczeń w bazie Konto, profil i przekazanie wiadomości do SMTPKonfiguracja Database Mail obejmuje co najmniej konto pocztowe, profil oraz uprawnienia do korzystania z profilu. Konto określa nazwę nadawcy, adres e-mail, nazwę serwera SMTP, numer portu i sposób uwierzytelniania. Profil jest logicznym zbiorem jednego lub większej liczby kont. Jeżeli profil zawiera kilka kont, Database Mail może próbować użyć kolejnego konta, gdy wcześniejsze nie powiedzie się zgodnie z zasadami obsługi kolejki i ponawiania wysyłki. Wiadomość można wysłać między innymi za pomocą procedury Treść wiadomości może być zwykłym tekstem albo dokumentem HTML, jeżeli parametr Kolejka, statusy i diagnostyka wysyłkiDatabase Mail zapisuje informacje o wysłanych, oczekujących i nieudanych wiadomościach w bazie Istotne jest rozróżnienie pomiędzy statusem zapisanym przez SQL Server a faktycznym dostarczeniem wiadomości do skrzynki. SQL Server może uznać operację za wysłaną po poprawnym przekazaniu komunikatu do serwera SMTP, ale nie potwierdza w ten sposób, że wiadomość została zaakceptowana przez docelowy serwer, dostarczona do skrzynki albo wyświetlona przez odbiorcę. Przy analizie problemu należy więc sprawdzić zarówno historię Database Mail, wpisy w dzienniku zdarzeń, jak i odpowiedź serwera SMTP. Typowe przyczyny niepowodzeń obejmują nieprawidłową nazwę hosta SMTP, zamknięty port, błędne dane uwierzytelniające, wymaganie szyfrowania TLS niezgodne z konfiguracją konta, odrzucenie adresu nadawcy oraz limit rozmiaru wiadomości lub załącznika. Warto również sprawdzić, czy Database Mail jest uruchomiony i czy kolejka nie została zatrzymana. Do kontroli stanu kolejek oraz usług Database Mail służą procedury administracyjne udostępniane przez SQL Server, w tym Bezpieczne użycie w zadaniach SQL Server AgentJednym z częstych zastosowań Database Mail jest powiadamianie o wyniku zadań SQL Server Agent. Zadanie może wysłać komunikat po zakończeniu kopii zapasowej, wykonaniu importu, niepowodzeniu procedury albo przekroczeniu określonego warunku. W tym scenariuszu trzeba sprawdzić, czy operator SQL Server Agent ma poprawnie skonfigurowany profil pocztowy oraz czy konto używane do uruchomienia kroku ma uprawnienia do wykonania wymaganej procedury i zapytania. Przy diagnostyce komputera, na którym działa SQL Server, warto rozdzielić problemy silnika bazy danych od problemów infrastruktury pocztowej. Brak wiadomości nie musi oznaczać uszkodzenia bazy. Przyczyną może być zatrzymana kolejka, niedostępny serwer SMTP, zmienione wymagania uwierzytelniania albo odrzucenie komunikatu przez serwer pośredni. Prawidłowa analiza powinna rozpocząć się od sprawdzenia konfiguracji profilu, historii konkretnej wiadomości i wpisu błędu, a dopiero potem obejmować test połączenia oraz weryfikację zadania, które wywołało wysyłkę. Database Mail dotyczy środowiska administracji i obsługi Microsoft SQL Server, dlatego jego konfiguracja wymaga dostępu do instancji, bazy |