30Jun

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

click fraud protection

Når du har automatiske backupjobs, 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 e-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( "http: //schemas.microsoft.com/cdo/configuration/ smtpserver"). Værdi', '10. 1.1.10 '

instagram viewer

Installer den lagrede 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 meddelelse til:

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

Klik på knappen Nyat skabe et nyt job trin. 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', 'Backup Job completedsuccesfuldt '

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

Trinnavn: E-mail notifikationsfejl

SQL:

exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Backup Jobs fail,' Backup Job failed '

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

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

Rediger nu det andet trin, den ene aktiverede "Email Notification Success", og angiv 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 't angive dette, så vil vi ende med at få to e-mails, en med succes og en med fejl.

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

Nu skal dine job trin se sådan ud:

Du skal nu have email notifikationer i din indbakke for enten succes eller fiasko.

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

Download sp_SQLNotify Stored Procedure her.