Начална » как да » Изпращане на автоматизирани известия за имейл в SQL Server с SMTP

    Изпращане на автоматизирани известия за имейл в SQL Server с SMTP

    Когато имате автоматизирани резервни копия, стартирани на вашия сървър на база данни, понякога забравяте, че те дори работят. След това забравяте да проверите дали те се изпълняват успешно и не осъзнавате, докато базата данни не се срине и не можете да я възстановите, тъй като нямате текущ архив.

    Това е мястото, където влизат известия по имейл, така че можете да видите статуса на работа всяка сутрин, когато пиете кафе и се преструвате, че работите.

    SQL Server осигурява вграден метод за изпращане на имейли, но за съжаление изисква да имате Outlook и профил, инсталиран на сървъра, което не е непременно идеалният начин за изпращане на имейл. За щастие има друг метод, който включва инсталиране на съхранена процедура на вашия сървър, която ще ви позволи да изпращате имейли чрез SMTP.

    Изтеглете съхранената процедура sp_SQLNotify тук.

    Вие ще искате да редактирате един ред в съхранената процедура, за да поставите IP адреса на вашия SMTP сървър:

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

    Инсталирайте съхранената процедура в главната база данни, така че да може лесно да се използва откъдето е необходимо.

    Отворете списъка със задания на SQL Server Agent и изберете свойствата на заданието, което се опитвате да създадете, за:

    Кликнете върху раздела „Стъпки“ и ще видите екран, който изглежда така:

    Кликнете върху бутона Нова, за да създадете нова стъпка на заданието. Ще използваме тази стъпка, за да изпратим известието по имейл за успех.

    Име на стъпка: Успешно известяване по имейл

    Въведете този SQL в командния прозорец, както е показано по-долу. Вие ще искате да персонализирате имейл адресите и темата на съобщението, за да съответстват на вашата среда:

    exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Backup Job Success', 'The Backup Job успешно завърши' \ t

    Щракнете върху OK, след което отново щракнете върху бутона Нова, за да създадете друга стъпка. Това ще бъде стъпката за уведомяване за неуспех.

    Име на стъпка: Неуспешно уведомяване по имейл

    SQL:

    exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Неуспешно създаване на резервно копие,' Неуспешно копие '

    Сега идеята е да направим елементите след конкретен работен процес. Първо кликнете върху Редактиране на стъпка 1 и задайте свойствата, както е показано тук:

    Това, което казваме е, че за успеха, отидете на стъпката на успех, и при неуспех, отидете на стъпка на неуспех. Доста прости неща.

    Сега редактирайте втората стъпка, която е маркирана като „Успех за известяване по имейл“, и задайте свойствата, както се вижда тук:

    Ние казваме, че ако заданието за уведомяване е успешно, тогава просто излезте от работа, без да изпълните стъпка 3. Ако не посочим това, ще получим две имейла, един с успех и с провал.

    Сега редактирайте третата стъпка, която е подредена „Неуспешно уведомяване по имейл“, и задайте свойствата, както се вижда тук:

    Сега вашите стъпки трябва да изглеждат така:

    Вече трябва да получавате известия по имейл във входящата си поща за успех или неуспех.

    Забележка: Запаметената процедура, използвана в тази статия, е намерена тук, въпреки че това може да не е първоначалният източник.

    Изтеглете съхранената процедура sp_SQLNotify тук.