Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
stvorennja_v_sql_sistemi_monitoringa_blokuvan [2026/05/01 14:44] tro |
stvorennja_v_sql_sistemi_monitoringa_blokuvan [2026/05/01 14:52] (текущий) tro |
||
|---|---|---|---|
| Строка 225: | Строка 225: | ||
| PRINT ' | PRINT ' | ||
| + | </ | ||
| + | ===== Крок 4 — Створюємо SQL Agent Job: ===== | ||
| + | < | ||
| + | USE msdb; | ||
| + | GO | ||
| + | |||
| + | DECLARE @jobId BINARY(16); | ||
| + | |||
| + | EXEC sp_add_job | ||
| + | @job_name = N'1C - Monitoring Capture', | ||
| + | @enabled = 1, | ||
| + | @job_id = @jobId OUTPUT; | ||
| + | |||
| + | EXEC sp_add_jobstep | ||
| + | @job_id = @jobId, | ||
| + | @step_name = N'Run monitoring capture', | ||
| + | @subsystem = N' | ||
| + | @command = N'EXEC MonitoringDB.dbo.usp_CaptureMonitoring;', | ||
| + | @database_name = N' | ||
| + | |||
| + | EXEC sp_add_schedule | ||
| + | @schedule_name = N'1C Monitor Every 2 min', | ||
| + | @freq_type = 4, | ||
| + | @freq_interval = 1, | ||
| + | @freq_subday_type = 4, | ||
| + | @freq_subday_interval = 2; | ||
| + | |||
| + | EXEC sp_attach_schedule | ||
| + | @job_id = @jobId, | ||
| + | @schedule_name = N'1C Monitor Every 2 min'; | ||
| + | |||
| + | EXEC sp_add_jobserver | ||
| + | @job_id = @jobId, | ||
| + | @server_name = N' | ||
| + | |||
| + | GO | ||
| + | |||
| + | SELECT name, enabled, date_created | ||
| + | FROM msdb.dbo.sysjobs | ||
| + | WHERE name = N'1C - Monitoring Capture'; | ||
| + | |||
| + | PRINT 'Job створено успішно'; | ||
| + | </ | ||
| + | ==== Крок 4.1 - запуск завдання вручну (для перевірки) ==== | ||
| + | < | ||
| + | -- Запускаємо вручну | ||
| + | EXEC msdb.dbo.sp_start_job N'1C - Monitoring Capture'; | ||
| + | </ | ||
| + | ==== Крок 4.2 Перевырка успышносты запису ==== | ||
| + | < | ||
| + | -- Перевіряємо що з' | ||
| + | SELECT * FROM MonitoringDB.dbo.SnapshotLog ORDER BY Id DESC; | ||
| + | |||
| + | -- Перевіряємо статус останнього запуску job-а | ||
| + | SELECT | ||
| + | j.name, | ||
| + | h.run_date, | ||
| + | h.run_time, | ||
| + | h.run_duration, | ||
| + | CASE h.run_status | ||
| + | WHEN 0 THEN ' | ||
| + | WHEN 1 THEN ' | ||
| + | WHEN 2 THEN ' | ||
| + | WHEN 3 THEN ' | ||
| + | WHEN 4 THEN ' | ||
| + | END AS run_status, | ||
| + | h.message | ||
| + | FROM msdb.dbo.sysjobs j | ||
| + | JOIN msdb.dbo.sysjobhistory h ON j.job_id = h.job_id | ||
| + | WHERE j.name = N'1C - Monitoring Capture' | ||
| + | ORDER BY h.run_date DESC, h.run_time DESC; | ||
| + | </ | ||
| + | ===== Крок 6 - отримання результатів моніторинга ===== | ||
| + | < | ||
| + | SELECT * FROM MonitoringDB.dbo.BlockingLog | ||
| + | WHERE CaptureTime >= DATEADD(MINUTE, | ||
| + | ORDER BY CaptureTime DESC; | ||
| + | |||
| + | SELECT * FROM MonitoringDB.dbo.HeavySessionLog | ||
| + | WHERE CaptureTime >= DATEADD(MINUTE, | ||
| + | ORDER BY CaptureTime DESC; | ||
| </ | </ | ||