Sende automatiserte e-postvarsler i SQL Server med SMTP

Sende automatiserte e-postvarsler i SQL Server med SMTP
Sende automatiserte e-postvarsler i SQL Server med SMTP

Video: Sende automatiserte e-postvarsler i SQL Server med SMTP

Video: Sende automatiserte e-postvarsler i SQL Server med SMTP
Video: Ubuntu 20.04 Remote Desktop Access from Windows 10 with xRDP - YouTube 2024, April
Anonim

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 din:

EXEC @hr = sp_OASetProperty @iMsg, ‘Configuration.fields(“https://schemas.microsoft.com/cdo/configuration/smtpserver”).Value’, ‘10.1.1.10’

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 varsel for:

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

Trinnnavn: Email Notification Success

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

exec master.dbo.sp_SQLNotify ‘[email protected]’,’[email protected]’,’Backup Job Success’,’The Backup Job completed successfully’

Trinnnavn: E-postvarslingsfeil

SQL:

exec master.dbo.sp_SQLNotify ‘[email protected]’,’[email protected]’,’Backup Job Failure,’The Backup Job failed’

Nå er ideen å få elementene til å følge en bestemt arbeidsflyt. Klikk først på Rediger på trinn 1, og sett egenskapene som vist her:

Rediger nå det andre trinnet, den ene aktiverte "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 angir dette, vil vi ende opp med å få to e-postmeldinger, en med suksess og en med feil.
Vi sier at hvis meldingsjobben er vellykket, avslutter du jobben uten å kjøre trinn 3. Hvis vi ikke angir dette, vil vi ende opp med å få to e-postmeldinger, en med suksess og en med feil.

Rediger nå det tredje trinnet, den ene aktiverte "E-postvarslingsfeil", og sett egenskapene som vist her:

Nå skal dine jobbtak se slik ut:
Nå skal dine jobbtak se slik ut:
Du bør nå ha e-postvarsler i innboksen din for enten suksess eller fiasko.
Du bør nå ha e-postvarsler i innboksen din for enten suksess eller fiasko.

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

Last ned sp_SQLNotify Stored Procedure her.

Anbefalt: