30Jun

Sende automatiserte e-postvarsler i SQL Server med SMTP

click fraud protection

Når du har automatiserte sikkerhetskopieringsjobber som kjører på databaseserveren, kan du noen ganger glemme at de går til og med. Da glemmer du å sjekke for å se om de kjører vellykket, og ikke skjønner før databasen din går i stykker, og du kan ikke gjenopprette siden du ikke har en gjeldende sikkerhetskopiering.

Det er der e-postvarsler kommer inn, slik at du kan se jobbstatus hver morgen når du nipper til kaffen din og utgir at du jobber.

SQL Server gir en innebygd metode for å sende e-post, men dessverre krever det at du har Outlook og en profil installert på serveren, noe som ikke nødvendigvis er den ideelle måten å sende en e-post på.Heldigvis finnes det en annen metode, som innebærer å installere en lagret prosedyre på serveren din som vil tillate deg å sende e-post via SMTP.

Last ned sp_SQLNotify Stored Procedure her.

Du vil redigere en linje i den lagrede prosedyren for å sette IP-adressen til SMTP-serveren:

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

instagram viewer

Installer den lagrede prosedyren i hoveddatabasen, slik at den lett kan brukes fra hvor det er nødvendig.

Åpne SQL Server Agent \ Jobs-listen, og velg egenskapene for jobben du prøver å opprette et varsel for:

Klikk på Steg-fanen, og du bør se en skjerm som ser slik ut:

Klikk på Ny knappå skape et nytt jobbstrinn. Vi vil bruke dette trinnet til å sende e-postvarslinget til suksess.

Trinnnavn: E-postvarslingssuksess

Skriv inn denne SQL i kommandovinduet som vist nedenfor. Du vil ønske å tilpasse e-postadressene og meldingsemnet som samsvarer med ditt miljø:

exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Backup Job Success', 'Backup Job completedvellykket '

Klikk OK og klikk deretter Ny knappen igjen for å opprette et nytt trinn. Dette vil være feilmeldingsstrinnet.

Stegnavn: E-postvarslingsfeil

SQL:

exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Sikkerhetsfeil på sikkerhetskopiering,' Backup Job failed '

Nå er ideen ågjør elementene følger en bestemt arbeidsflyt. Først klikker du Rediger på trinn 1, og angir egenskapene som vist her:

Det vi sier er at det går bra til suksessstrinnet, og ved feil går du til feilsteget. Ganske enkle ting.

Rediger nå det andre trinnet, den labled "Email Notification Success", og sett egenskapene som vist her:

Vi sier at hvis meldingsjobben er vellykket, avslutter du jobben uten å kjøre trinn 3. Hvis vi ikke 't spesifiser dette, så vil vi ende opp med å få to e-postmeldinger, en med suksess og en med feil.

Nå redigerer du det tredje trinnet, den ene aktiverte "E-postvarslingsfeil", og angir egenskapene som vist her:

Nå skal jobbtrinnene dine se slik ut:

Du bør nå ha e-postvarsler i innboksen din for enten suksess eller feil.

Merk: Den lagrede prosedyren som ble brukt i denne artikkelen ble funnet her, selv om det kanskje ikke er den opprinnelige kilden.

Last ned sp_SQLNotify Stored Procedure her.