Домашня » як » Надсилання сповіщень про автоматичну електронну пошту в 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]', 'Успіх резервного завдання', 'Завдання резервного копіювання завершено успішно'

    Натисніть кнопку ОК, а потім знову натисніть кнопку Створити, щоб створити ще один крок. Це буде етап сповіщення про відмову.

    Ім'я кроку: Помилка повідомлення електронною поштою

    SQL:

    exec master.dbo.sp_SQLNotify '[email protected]', '[email protected]', 'Невдала робота резервного копіювання,' Завдання резервного копіювання не вдалося '

    Тепер ідея полягає в тому, щоб зробити елементи наступними за певним робочим процесом. Спочатку натисніть Редагувати на кроці 1 і встановіть властивості, як показано тут:

    Те, що ми говоримо, що на успіх, піти на крок успіху, і на провал, перейдіть до кроку невдачі. Досить простий матеріал.

    Тепер відредагуйте другий крок, один з позначених "Успіх сповіщення електронною поштою", і встановіть властивості, які можна побачити тут:

    Ми говоримо, що якщо робота з повідомленням пройшла успішно, то просто вийдіть з роботи, не виконавши кроку 3. Якщо ми не вкажемо це, ми отримаємо два листи, один з успіхом і один з помилками..

    Тепер відредагуйте третій крок, позначений як "Помилка повідомлення по електронній пошті", і встановіть властивості, які можна побачити тут:

    Тепер ваші кроки роботи повинні виглядати так:

    Тепер у папці "Вхідні" потрібно надсилати сповіщення електронною поштою про успіх або невдачу.

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

    Завантажте збережену процедуру sp_SQLNotify тут.