/ / Wysyłanie automatycznych powiadomień e-mail o zadaniach w programie SQL Server za pomocą SMTP

Wysyłanie automatycznych powiadomień e-mail o zadaniach w programie SQL Server za pomocą SMTP

Gdy masz uruchomione automatyczne zadania tworzenia kopii zapasowychserwer bazy danych, czasami zapominasz, że nawet działają. Następnie zapomnisz sprawdzić, czy działają poprawnie, i nie zdajesz sobie sprawy, dopóki baza danych nie ulegnie awarii i nie możesz przywrócić, ponieważ nie masz bieżącej kopii zapasowej.

Właśnie tam przychodzą powiadomienia e-mail, dzięki czemu możesz zobaczyć status pracy każdego ranka, kiedy popijasz kawę i udajesz, że pracujesz.

SQL Server zapewnia wbudowaną metodę wysyłaniawiadomości e-mail, ale niestety wymaga zainstalowania programu Outlook i profilu na serwerze, co niekoniecznie jest idealnym sposobem na wysłanie wiadomości e-mail. Na szczęście istnieje inna metoda, która polega na zainstalowaniu procedury przechowywanej na serwerze, która umożliwia wysyłanie wiadomości e-mail za pośrednictwem SMTP.

Pobierz zapisaną procedurę sp_SQLNotify tutaj.

Będziesz chciał edytować jeden wiersz w procedurze przechowywanej, aby umieścić adres IP swojego serwera SMTP:

EXEC @hr = sp_OASetProperty @iMsg, „Configuration.fields („ http://schemas.microsoft.com/cdo/configuration/smtpserver ”). Wartość„ ”,„ 10 .1.1.10 ”

Zainstaluj procedurę przechowywaną w głównej bazie danych, aby można ją było łatwo wykorzystać z dowolnego miejsca.

Otwórz listę zadań agenta programu SQL Server i wybierz właściwości zadania, dla którego próbujesz utworzyć powiadomienie:

Kliknij kartę Kroki i powinieneś zobaczyć ekran, który wygląda następująco:

Kliknij przycisk Nowy, aby utworzyć nowy krok zadania. Ten krok wykorzystamy do wysłania powiadomienia e-mail o sukcesie.

Nazwa kroku: Powodzenie powiadomienia e-mail

Wprowadź ten kod SQL w oknie poleceń, jak pokazano poniżej. Będziesz chciał dostosować adresy e-mail i temat wiadomości do swojego środowiska:

exec master.dbo.sp_SQLNotify „server@localserver.com”, „admin@localserver.com”, „Backup Job Success”, „The Backup Job pomyślnie zakończony”

Kliknij przycisk OK, a następnie ponownie kliknij przycisk Nowy, aby utworzyć kolejny krok. To będzie krok powiadomienia o awarii.

Nazwa kroku: niepowodzenie powiadomienia e-mail

SQL:

exec master.dbo.sp_SQLNotify „server@localserver.com”, „admin@localserver.com”, „Awaria kopii zapasowej”, „Awaria kopii zapasowej”

Teraz chodzi o to, aby elementy postępowały zgodnie z określonym przepływem pracy. Najpierw kliknij Edytuj w kroku 1 i ustaw właściwości, jak pokazano tutaj:

Mówimy, że w przypadku sukcesu przejdź do etapu sukcesu, aw przypadku niepowodzenia przejdź do etapu awarii. Całkiem proste rzeczy.

Teraz edytuj drugi krok, ten oznaczony etykietą „Powodzenie powiadomienia e-mail” i ustaw właściwości, jak pokazano tutaj:

Mówimy, że jeśli zadaniem jest powiadomieniezakończone sukcesem, po prostu zakończ pracę bez uruchamiania kroku 3. Jeśli nie określimy tego, otrzymamy dwa e-maile, jeden z sukcesem, a drugi z niepowodzeniem.

Teraz edytuj trzeci krok, ten oznaczony jako „Błąd powiadomienia e-mail” i ustaw właściwości, jak pokazano tutaj:

Teraz Twoje kroki pracy powinny wyglądać następująco:

Powinieneś teraz mieć powiadomienia e-mail w skrzynce odbiorczej o powodzeniu lub niepowodzeniu.

Uwaga: procedura przechowywana zastosowana w tym artykule została znaleziona tutaj, chociaż może to nie być oryginalne źródło.

Pobierz zapisaną procedurę sp_SQLNotify tutaj.