Перейти к содержимому

задание

Как сделать проверку выполнения задания. Мониторит запущено ли задание или нет на удаленном сервере.

Задача мониторить задания когда оно работает на другом сервере. Когда оно отработает запускать следующий шаг. Мониторим мы бэкап лог шипинга (Log shipping backup).

как выглядит задание (job):

Как сделать проверку выполнения задания. Мониторит запущено ли задание или нет на удаленном сервере.

первый шаг запускается задание на удаленном севере. второй шаг и третий в цикле проверяет его после этого стартует следующие шаги.

WAITFOR DELAY '00:05:00.000'
set nocount on

if (not object_id('tempdb..#running_jobs') is null)
	drop table #running_jobs

select
    ja.job_id,
    j.name as job_name,
    ja.start_execution_date,      
    isNull(last_executed_step_id,0) + 1 as current_executed_step_id,
    js.step_name
  
INTO #running_jobs
from s0030.msdb.dbo.sysjobactivity ja 
	left join s0030.msdb.dbo.sysjobhistory jh on ja.job_history_id = jh.instance_id
	inner join s0030.msdb.dbo.sysjobs j on ja.job_id = j.job_id
	inner join s0030.msdb.dbo.sysjobsteps js on ja.job_id 
Читать далее

Как создать хранимую процедуру для мониторинга заданий (job) в MSSQL. Хранимая процедура для PRTG

Была задача создать хранимую процедуру что бы мониторить разные задания(джобы, job) в MSSQL. Это доробатаная процедура посравнению с Сенсор для prtg. Сенсор для задания sql

USE [msdb]
GO

/****** Object:  StoredProcedure [dbo].[alertjob]    Script Date: 05/24/2017 10:24:34 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[alertjob]
@name VARCHAR(max)
AS
BEGIN
SELECT TOP 100
	    
	    b.[message], b.run_date,  b.run_time

into #t	        
--SELECT *
FROM   
 dbo.sysjobs a
       FULL OUTER JOIN dbo.sysjobhistory b
            ON  a.job_id = b.job_id
                AND a.[enabled] = '1'
WHERE
--CONVERT(VARCHAR(20),b.run_date,5)  = (select CONVERT (date, SYSDATETIME())) and
a.name IN ('LSRestore_s0085_ZUP_MOLL') and
run_date=(SELECT MAX(run_date) FROM dbo.sysjobs a

       FULL OUTER JOIN dbo.sysjobhistory b
            
Читать далее

Как запустить задание (job) удаленна с другова сервере mssql или из другого задания (job).

Была задача запустить задание из другого задания которое находилось на другом сервере mssql

Создаём линковку (связанный сервер) и в свойствах включаем RPC :

Как запустить задание (job) удаленна с другова сервере mssql или из другого задания (job).

Так же надо убедится что у пользователя под кем создалась линкова есть права на базу msdb:

Как запустить задание (job) удаленна с другова сервере mssql или из другого задания (job).Как запустить задание (job) удаленна с другова сервере mssql или из другого задания (job).

exec linkserver.msdb.dbo.sp_start_job  @job_name = 'name job'