Afsendelse af automatiserede job e-mail notifikationer i SQL Server med SMTP

Afsendelse af automatiserede job e-mail notifikationer i SQL Server med SMTP
Afsendelse af automatiserede job e-mail notifikationer i SQL Server med SMTP
Anonim

Når du har automatiske sikkerhedskopieringsjob, der kører på din databaseserver, glemmer du nogle gange, at de selv kører. Derefter glemmer du at tjekke for at se, om de kører med succes, og ikke indse, før din database går i stykker, og du kan ikke gendanne den, da du ikke har en aktuelt backup.

Det er her, hvor e-mail-meddelelser kommer ind, så du kan se jobstatus hver morgen, når du nipper til din kaffe og lader som om du arbejder.

SQL Server indeholder en indbygget metode til at sende e-mails, men det kræver desværre, at du har Outlook og en profil installeret på serveren, hvilket ikke nødvendigvis er den ideelle måde at sende en mail på. Heldigvis er der en anden metode, der indebærer at installere en gemt procedure på din server, der giver dig mulighed for at sende email via SMTP.

Download sp_SQLNotify Stored Procedure her.

Du vil gerne redigere en linje i den gemte procedure for at angive din SMTP-serverens IP-adresse:

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

Installer den gemte procedure i masterdatabasen, så den kan nemt bruges fra hvor det er nødvendigt.

Åbn SQL Server Agent Jobs-listen, og vælg egenskaberne for det job, du forsøger at oprette en anmeldelse til:

Klik på fanen Trin, og du skal se en skærm, der ser sådan ud:
Klik på fanen Trin, og du skal se en skærm, der ser sådan ud:

Klik på knappen Ny for at oprette et nyt jobstrin. Vi vil bruge dette trin til at sende e-mail-meddelelsen om succes.

Trinnavn: Email Notification Success

Indtast denne SQL i kommandofeltet som vist nedenfor. Du vil gerne tilpasse e-mailadresserne og meddelelsesemnet til at matche dit miljø:

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

Klik på OK, og klik derefter på knappen Ny for at oprette et andet trin. Dette bliver meddelelsen om fejlmeddelelse.

Trinnavn: E-mailmeddelelsesfejl

SQL:

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

Nu er ideen at få emnerne til at følge en bestemt arbejdsgang. Klik først på Rediger på trin 1, og angiv egenskaberne som vist her:

Hvad vi siger er at efter succes gå til successtrinnet, og hvis du går i stykker, skal du gå til fejlstrinnet. Smukke enkle ting.

Rediger nu det andet trin, den ene labled "Email Notification Success", og indstil egenskaberne som set her:

Vi siger, at hvis meddelelsesjobbet er vellykket, skal du bare afslutte jobbet uden at køre trin 3. Hvis vi ikke angiver dette, vil vi ende med at få to e-mails, en med succes og en med fejl.
Vi siger, at hvis meddelelsesjobbet er vellykket, skal du bare afslutte jobbet uden at køre trin 3. Hvis vi ikke angiver dette, vil vi ende med at få to e-mails, en med succes og en med fejl.

Rediger nu det tredje trin, den ene labled "Email notification failure", og indstil egenskaberne som set her:

Nu skal dine job trin se sådan ud:
Nu skal dine job trin se sådan ud:
Du skal nu have e-mail-meddelelser i din indbakke for enten succes eller fiasko.
Du skal nu have e-mail-meddelelser i din indbakke for enten succes eller fiasko.

Bemærk: Den lagrede procedure, der blev brugt i denne artikel, blev fundet her, selv om det måske ikke er den oprindelige kilde.

Download sp_SQLNotify Stored Procedure her.

Populært emne.

Ekspertråd