30Jun

Trimiterea notificărilor automate de e-mail de locuri de muncă în SQL Server cu SMTP

click fraud protection

Când aveți sarcini de salvare automate care rulează pe serverul bazei dvs. de date, uneori uitați că acestea sunt chiar în desfășurare. Apoi uitați să verificați dacă funcționează cu succes și nu vă dați seama până când baza dvs. de date se blochează și nu o puteți restabili, deoarece nu aveți o copie de rezervă curentă.

Aici intră notificările prin e-mail, astfel încât să vezi starea locului de muncă în fiecare dimineață atunci când savurați cafeaua și pretindeți că lucrați.

SQL Server oferă o metodă integrată de trimitere a mesajelor de poștă electronică, dar, din nefericire, este necesar să aveți Outlook și un profil instalat pe server, ceea ce nu este neapărat modul ideal de trimitere a unui e-mail. Din fericire, există o altă metodă, care implică instalarea unei proceduri stocate pe serverul dvs., care vă va permite să trimiteți e-mail prin SMTP.

Descărcați procedura stocată sp_SQLNotify aici.

Veți dori să editați o linie în procedura stocată pentru a pune adresa IP a serverului SMTP:

instagram viewer

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

Instalați procedura stocată în baza de date master, astfel încât să fie ușor de utilizat de oriunde este necesar.

Deschideți lista SQL Server Agent \ Jobs și selectați proprietățile pentru lucrarea pe care încercați să o creați o notificare pentru:

Faceți clic pe fila Steps și ar trebui să vedeți un ecran care arată astfel:

Faceți clic pe butonul Newpentru a crea un nou pas de lucru. Vom folosi acest pas pentru a trimite notificarea prin e-mail cu privire la succes.

Nume pas: Succes de notificare prin e-mail

Introduceți acest SQL în fereastra de comandă așa cum se vede mai jos. Veți dori să personalizați adresele de e-mail și subiectul mesajului pentru a se potrivi cu mediul dvs.:

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

Faceți clic pe OK și apoi pe noul buton Nou pentru a crea un alt pas. Acesta va fi pasul de notificare a eșuării.

Pasul Nume: Eroare de notificare prin e-mail

SQL:

exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Eșec de salvare de rezervă', Jobul de rezervă a eșuat '

Acum ideea estefaceți elementele să urmeze un anumit flux de lucru. Mai întâi faceți clic pe Editați la pasul 1 și setați proprietățile așa cum se arată aici:

Ceea ce spunem este faptul că, pe succes, mergeți la pasul de succes și la eșec, mergeți la pasul de eșec. Destul de simple lucruri.

Acum editați al doilea pas, cel care a etichetat "Succes de notificare prin e-mail" și setați proprietățile așa cum se vede aici:

Vom spune că dacă lucrarea de notificare are succes, atunci trebuie să renunțați fără a rula pasul 3. Dacă nu "t specificați acest lucru, atunci vom ajunge la obținerea a două e-mailuri, unul cu succes și unul cu eșec.

Acum editați al treilea pas, cel care a etichetat "Eroare de notificare prin e-mail" și setați proprietățile așa cum se vede aici:

Acum, pașii dvs. de lucru ar trebui să arate astfel:

Acum ar trebui să aveți notificări prin e-mail în cutia poștală pentru succes sau eșec.

Notă: Procedura stocată utilizată în acest articol a fost găsită aici, deși aceasta nu poate fi sursa originală.

Descărcați procedura stocată sp_SQLNotify aici.