Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Отправка отчета extended events  [new]
sergey_dyomin
Member

Откуда:
Сообщений: 3
Приветствую.

В SQL настроен extended events. В него пишутся данные при определенном событии (бэкап или восстановление базы в ручном режиме).

Так вот вопрос: Как заставить SQL отправлять этот отчет на почту при обновлении данных в данном отчете (не раз в какой то период, а сразу).
Отправка почты уже настроена и работает.

Задача в том, чтобы оперативно получать уведомление, если кто-то запустил бэкап или восстановление базы sql в ручном режиме.
1 июл 15, 11:05    [17836433]     Ответить | Цитировать Сообщить модератору
 Re: Отправка отчета extended events  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4893
sergey_dyomin,

job -- в нем SSIS пакет. Запускаете каждые 2-3 минуты, он проверяет события и шлёт письмо.

Возможно это можно сделать просто скриптами в джобе.
1 июл 15, 11:38    [17836683]     Ответить | Цитировать Сообщить модератору
 Re: Отправка отчета extended events  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
sergey_dyomin,

так не раздавайте сисадмина и бэкап оператора направо и налево.
1 июл 15, 12:04    [17836933]     Ответить | Цитировать Сообщить модератору
 Re: Отправка отчета extended events  [new]
AnyKey45
Member

Откуда: Ekaterinburg-Moscow-EU
Сообщений: 219
простой путь:
периодического опрос джобом

сложный путь:
sp_add_alert+WMI - , в Ответ поставить запуск джоба, который будет запускать T-SQL, например отправлять вам почту отчет

нужный WMI запрос:"select * from AUDIT_BACKUP_RESTORE_EVENT"

http://www.mssqltips.com/sqlservertip/3095/monitor-sql-server-databases-changes-using-wmi-alerts/

Пример тестовго алерта, который запускает некий джоб(удобнее всего это делать в SSMS):

EXEC msdb.dbo.sp_add_alert @name=N'BackupAlert', 
		@message_id=0, 
		@severity=0, 
		@enabled=1, 
		@delay_between_responses=0, 
		@include_event_description_in=0, 
		@category_name=N'[Uncategorized]', 
		@wmi_namespace=N'\\.\root\Microsoft\SqlServer\ServerEvents\SQL2014', 
		@wmi_query=N'select * from audit_backup_restore_event', 
		@job_id=N'f16d9abf-a1ae-4684-9771-c4ecb7bbf9e7'
GO


собственно это будет всплывать при любом бэкапе/ресторе, но я думаю в WMI есть данные о том кто запустил этот ивент и их возможно будет выбрать и передать в Джоб, тем самым определив, что данный бэкап запущен левым пользователем.
1 июл 15, 13:33    [17837716]     Ответить | Цитировать Сообщить модератору
 Re: Отправка отчета extended events  [new]
sergey_dyomin
Member

Откуда:
Сообщений: 3
AnyKey45,
Приветствую.

К сожалению не могу разобраться не с легким, не с тяжелым путем...

Нет ли возможности написать более конкретный рабочий пример. Чем больше читаю, тем больше нужно сделать побочных задач, которых не понимаю.
1 июл 15, 15:01    [17838443]     Ответить | Цитировать Сообщить модератору
 Re: Отправка отчета extended events  [new]
AnyKey45
Member

Откуда: Ekaterinburg-Moscow-EU
Сообщений: 219
sergey_dyomin,

Продолжим с простым шагом:
Подразумевалось, что раз у вас настроен XEvent и Databasemail, то вы умеете забирать с XEvent данные и отправлять их по почте.
Осталось создать промежуточный шаг в виде джоба:

Создаем:
1)джоб
2)шаг в джобе
3)скрипт который запрашивает нужные данные с extended events за последнюю минуту, если данные есть - запускаем отправку отчета
4) расписание в джобе, чтобы оно выполнялось раз в минуту

Что из вышенаписанного вызывает вопросы?
1 июл 15, 17:51    [17839515]     Ответить | Цитировать Сообщить модератору
 Re: Отправка отчета extended events  [new]
sergey_dyomin
Member

Откуда:
Сообщений: 3
AnyKey45,


"Подразумевалось, что раз у вас настроен XEvent и Databasemail, то вы умеете забирать с XEvent данные и отправлять их по почте."

Мне кажется это изначально была суть моего вопроса

2)шаг в джобе
3)скрипт который запрашивает нужные данные с extended events за последнюю минуту, если данные есть - запускаем отправку отчета

Вот по этим пунктам у меня и вопрос:
1.Какие параметры указывать в джобе
2.Какой должен быть скрипт.
2 июл 15, 11:06    [17841979]     Ответить | Цитировать Сообщить модератору
 Re: Отправка отчета extended events  [new]
Glory
Member

Откуда:
Сообщений: 104751
sergey_dyomin
1.Какие параметры указывать в джобе

Сркипт из п.2

sergey_dyomin
2.Какой должен быть скрипт.

Выборка из таблиц, куда пишутся эти события
2 июл 15, 11:07    [17841992]     Ответить | Цитировать Сообщить модератору
 Re: Отправка отчета extended events  [new]
AnyKey45
Member

Откуда: Ekaterinburg-Moscow-EU
Сообщений: 219
sergey_dyomin,

Скрипт создания вашего extended event, в студию))) - там будет указано какие данные собираются и куда сохраняются, тогда можно будет сделать скрипт, который выбирает данные.

Если интересно самому изучить XEvent до состояния написания скрипта, почитайте статьи типа https://www.sqlskills.com/blogs/jonathan/extended-events-overview/ (всю серию)

По отправке почты изучите sp_send_dbmail

Создание шага выглядит как-то так http://SSMaker.ru/934bb33f/
2 июл 15, 11:33    [17842156]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить