Надсилання сповіщень про автоматичну електронну пошту в 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 тут.