/ / Skicka automatiserade meddelanden om jobbjobb i SQL Server med SMTP

Skicka automatiserade meddelanden om jobb e-post i SQL Server med SMTP

När du har automatiserade backupjobb som körsdin databaseserver, ibland glömmer du att de till och med körs. Då glömmer du att kontrollera om de körs framgångsrikt och inte inser förrän din databas kraschar och du kan inte återställa den eftersom du inte har en aktuell säkerhetskopia.

Det är där e-postmeddelanden kommer in, så du kan se jobbet status varje morgon när du smuttar på ditt kaffe och låtsas att du arbetar.

SQL Server tillhandahåller en inbyggd sändningsmetode-postmeddelanden, men tyvärr kräver det att du har Outlook och en profil installerad på servern, vilket inte nödvändigtvis är det perfekta sättet att skicka ett e-postmeddelande. Tack och lov finns det en annan metod som involverar installation av en lagrad procedur på din server som gör att du kan skicka e-post via SMTP.

Ladda ner sp_SQLNotify Stored Procedure här.

Du vill redigera en rad i den lagrade proceduren för att placera IP-adressen för din SMTP-server:

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

Installera den lagrade proceduren i huvuddatabasen, så att den enkelt kan användas därhelst det behövs.

Öppna listan SQL Server Agent Jobb och välj egenskaperna för jobbet du försöker skapa ett meddelande för:

Klicka på fliken Steg så ser du en skärm som ser ut så här:

Klicka på knappen Ny för att skapa ett nytt jobbsteg. Vi kommer att använda detta steg för att skicka e-postmeddelandet om framgång.

Stegnamn: E-postmeddelande framgång

Ange denna SQL i kommandofönstret enligt nedan. Du vill anpassa e-postadresserna och meddelandena som passar din miljö:

exec master.dbo.sp_SQLNotifiera "server@localserver.com", "admin@localserver.com", "Säkerhetskopieringsjobbssucces", "Säkerhetskopieringsjobbet slutfördes framgångsrikt"

Klicka på OK och klicka sedan på knappen Ny igen för att skapa ett nytt steg. Detta kommer att vara felmeddelandesteget.

Stegnamn: E-postmeddelandefel

SQL:

exec master.dbo.sp_SQLNotifiera 'server@localserver.com', 'admin@localserver.com', 'Säkerhetskopieringsjobb,' Säkerhetskopieringsjobbet misslyckades '

Nu är idén att få artiklarna att följa ett specifikt arbetsflöde. Klicka först på Redigera i steg 1 och ställ in egenskaperna som visas här:

Vad vi säger är att om du lyckas, gå till framgångssteget och om misslyckande, gå till misslyckningssteget. Ganska enkla grejer.

Redigera nu det andra steget, det som finns med "E-postmeddelande framgång", och ställ in egenskaperna så här:

Vi säger att om anmälningsjobbet är detframgångsrikt, sedan bara avsluta jobbet utan att köra steg 3. Om vi ​​inte anger detta kommer vi i slutändan att få två e-postmeddelanden, en med framgång och en med misslyckande.

Redigera nu det tredje steget, det som är "meddelandefel i e-postmeddelanden" och ställ in egenskaperna så här:

Nu ska dina jobbsteg se ut så här:

Du bör nu ha e-postmeddelanden i din inkorg för antingen framgång eller misslyckande.

Obs! Den lagrade proceduren som användes i den här artikeln hittades här, även om det kanske inte är den ursprungliga källan.

Ladda ner sp_SQLNotify Stored Procedure här.