30Jun

Automatizált munka e-mail értesítések küldése az SQL Serverben SMTP-vel

Ha az adatbázis-kiszolgálón fut az automatizált mentési feladatok, néha elfelejtik, hogy még futnak is. Ezután elfelejtette ellenőrizni, hogy sikeresen fut-e, és nem veszik észre, amíg az adatbázisa összeomlik, és nem tudja visszaállítani, mivel nem rendelkezik aktuális biztonsági mentéssel.

Ez az, ahol az e-mail értesítések bejövőek, így minden nap reggel látja a munkakörülményt, amikor kávét kortyolgat, és úgy tesz, mintha dolgozna.

Az SQL Server beépített módszert kínál az e-mailek küldésére, de sajnos szükség van arra, hogy az Outlook és a profil telepítve legyen a kiszolgálóra, ami nem feltétlenül ideális módja az e-mail küldésének. Szerencsére van egy másik módszer, amely magában foglalja a tárolt eljárás telepítését a kiszolgálón, amely lehetővé teszi, hogy SMTP-n keresztül küldjön e-mailt.

Töltse le a sp_SQLNotify tárolt eljárást itt.

Az eltárolt eljárás egy sorát szerkeszteni szeretné az SMTP-kiszolgáló IP-címének megadásához:

EXEC @hr = sp_OASetProperty @iMsg, 'Configuration.fields( ' http: //schemas.microsoft.com/cdo/configuration/ smtpserver ') Érték', '10. 1.1.10 '

A tárolt eljárás telepítése a mester adatbázisba, így könnyen használható bárhonnan.

Nyissa meg az SQL Server Agent \ Jobs listát, és válassza ki a bejelentkezéshez létrehozni kívánt feladat tulajdonságait:

Kattintson a Lépések fülre, és megjelenik egy olyan képernyő, amely így néz ki:

Kattintson az Új gombraúj munkafolyamat létrehozása. Ezt a lépést használjuk az e-mail értesítés sikeres elküldésére.

Lépésnév: E-mail értesítés sikere

Írja be ezt az SQL parancsot az alábbiakban leírt módon. Meg szeretné testreszabni az e-mail címeket és üzeneteket, amelyek megfelelnek a környezetnek:

exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Backup Job Success', 'A mentési feladat befejeződöttsikeresen '

Kattintson az OK gombra, majd ismét kattintson az Új gombra egy másik lépés létrehozásához. Ez lesz a hiba értesítési lépés.

Lépés név: E-mail értesítés hiba

SQL:

exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Biztonsági mentési hiba,' A mentési feladat sikertelen '

Most az ötlet az, hogytegye az elemeket egy adott munkafolyamat követéséhez. Először kattintson a Szerkesztés gombra az 1. lépésben, és állítsa be a tulajdonságokat az alábbiak szerint:

Amit azt mondunk, hogy a siker, menj a siker lépés, és a hiba, menj a hiba lépést. Elég egyszerű dolog.

Most módosítsa a második lépést, az egyiket a "Email Notification Success" feliratú címkével, és állítsa be az itt látható tulajdonságokat:

Azt mondjuk, hogy ha az értesítési feladat sikeres, akkor csak hagyja abba a feladatot a 3. lépés nélkül. Ezt nem adja meg, akkor két e-mailt fogunk kapni, egy sikeres és egy sikertelen.

Most módosítsa a harmadik lépést, az egyiket címkézve "E-mail értesítés hiba", és állítsa be az itt látható tulajdonságokat:

Most a munkameneteknek így kell kinéznie:

A sikeres vagy sikertelen e-mail értesítéseknek a beérkező levelek között kell lennie.

Megjegyzés: Az ebben a cikkben használt tárolt eljárás itt található, bár ez nem lehet az eredeti forrás.

Töltse le a sp_SQLNotify tárolt eljárást itt.