Hemsida » hur » Skickar automatiserade meddelanden om jobbanmälan i SQL Server med SMTP

    Skickar automatiserade meddelanden om jobbanmälan i SQL Server med SMTP

    När du har automatiska säkerhetskopieringsjobb som körs på din databasserver, glömmer du ibland att de ens körs. Då glömmer du att kontrollera om de körs framgångsrikt och inser inte förrän din databas kraschar och du kan inte återställa den eftersom du inte har en aktuell backup.

    Det är där e-postmeddelanden kommer in, så du kan se jobstatusen varje morgon när du sippar på din kaffe och låtsas som om du arbetar.

    SQL Server ger en inbyggd metod för att skicka e-postmeddelanden, men det kräver tyvärr att du har Outlook och en profil installerad på servern, vilket inte nödvändigtvis är det perfekta sättet att skicka ett mail. Tack och lov finns det en annan metod som innebär att du installerar en lagrad procedur på din server som låter dig skicka e-post via SMTP.

    Ladda ner sp_SQLNotify Stored Procedure här.

    Du kommer att vilja redigera en rad i den lagrade proceduren för att ställa in din SMTP-serverns IP-adress:

    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 från var som helst.

    Öppna listan SQL Server Agent \ Jobs, och välj egenskaperna för jobbet du försöker skapa en anmälan för:

    Klicka på fliken Steg och du ska se 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 det här steget för att skicka e-postmeddelandet till framgång.

    Steg Namn: Email Notification Success

    Skriv in denna SQL i kommandofönstret enligt nedan. Du kommer att vilja anpassa e-postadresserna och meddelandemedlet för att matcha din miljö:

    exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Backup Job Success', 'Backup Job completed successfully'

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

    Steg Namn: E-postmeddelande misslyckande

    SQL:

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

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

    Vad vi säger är att framgångsrikt gå till framgångsteget, och om misslyckande, gå till misslyckningssteget. Ganska enkla saker.

    Nu redigerar du det andra steget, den labled "Email Notification Success", och ställer in egenskaperna som här:

    Vi säger att om anmälningsjobbet är framgångsrikt, avslutar du jobbet utan att köra steg 3. Om vi ​​inte anger det kommer vi att få två e-postmeddelanden, en med framgång och en med fel.

    Redigera nu det tredje steget, det som är aktiverat "E-postnotifieringsfel" och ställ in egenskaperna som här:

    Nu ska dina arbetssteg 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 den kanske inte är den ursprungliga källan.

    Ladda ner sp_SQLNotify Stored Procedure här.