stvorennja_v_sql_sistemi_monitoringa_blokuvan

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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 'Процедура оновлена успішно';
 +</code>
 +===== Крок 4 — Створюємо SQL Agent Job: =====
 +<code>
 +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'TSQL',
 +    @command = N'EXEC MonitoringDB.dbo.usp_CaptureMonitoring;',
 +    @database_name = N'MonitoringDB';
 +
 +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'(LOCAL)';
 +
 +GO
 +
 +SELECT name, enabled, date_created
 +FROM msdb.dbo.sysjobs
 +WHERE name = N'1C - Monitoring Capture';
 +
 +PRINT 'Job створено успішно';
 +</code>
 +==== Крок 4.1 - запуск завдання вручну (для перевірки) ====
 +<code>
 +-- Запускаємо вручну
 +EXEC msdb.dbo.sp_start_job N'1C - Monitoring Capture';
 +</code>
 +==== Крок 4.2 Перевырка успышносты запису ====
 +<code>
 +-- Перевіряємо що з'явився новий запис
 +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;
 +</code>
 +===== Крок 6 - отримання результатів моніторинга =====
 +<code>
 +SELECT * FROM MonitoringDB.dbo.BlockingLog 
 +WHERE CaptureTime >= DATEADD(MINUTE, -30, GETDATE())
 +ORDER BY CaptureTime DESC;
 +
 +SELECT * FROM MonitoringDB.dbo.HeavySessionLog
 +WHERE CaptureTime >= DATEADD(MINUTE, -30, GETDATE())
 +ORDER BY CaptureTime DESC;
 </code> </code>
  
  • /sites/data/attic/stvorennja_v_sql_sistemi_monitoringa_blokuvan.1777646684.txt.gz
  • Последнее изменение: 2026/05/01 14:44
  • tro