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.