job

Как вывести список заданий (job) в mssql

use msdb
go
SELECT 
    [sJOB].[name] AS [JobName]
    , [sDBP].[name] AS [JobOwner]
    , [sCAT].[name] AS [JobCategory]
  , [sJOB].[description] AS [JobDescription]
    , [sJSTP].[step_id] AS [JobStartStepNo]
    , [sJSTP].[step_name] AS [JobStartStepName]
    , [sJOB].[date_created] AS [JobCreatedOn]
    , [sJOB].[date_modified] AS [JobLastModifiedOn]
  , CASE [sJOB].[enabled]
        WHEN 1 THEN 'Yes'
        WHEN 0 THEN 'No'
      END AS [IsEnabled]
       , CASE
          WHEN [sSCH].[schedule_uid] IS NULL THEN 'No'
          ELSE 'Yes'
          END AS [IsScheduled]
    , CASE 
        WHEN [freq_type] = 64 THEN 'Start automatically when SQL Server Agent starts'
        WHEN [freq_type] = 128 THEN 'Start whenever the CPUs become idle'
        WHEN [freq_type] IN (4,8,16,32) THEN 'Recurring'
        WHEN [freq_type] = 1 THEN 'One Time'
      
Читать далее

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

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

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

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

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

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

if (not object_id('tempdb..#running_jobs') is null)
	
Читать далее

Как перенести задания с mssql 2005 на mssql 2008

 

Ни Когда так не делайте

 

На целевом сервере в хранимой процедуре SP_ADD_JOB изменить в команде INSERT…VALUE (@owner_sid на   ****0x01)- владелец всех заданий будет SA

На целевом сервере в хранимой процедуре SP_ADD_SERVER закоментировать часть кода отвечающую за проверку сервера (—- Check that this job has not already been targeted at this server—)

После этого можно выделить все … Читать далее

Как создать хранимую процедуру для мониторинга заданий (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

Читать далее

Как запустить задание (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'

 

 

Изменить владельца mssql job

USE msdb ;
GO
 
EXEC dbo.sp_manage_jobs_by_login
    @action = N'REASSIGN',
    @current_owner_login_name = N'HEAD_OFFICE\v.musalov',
    @new_owner_login_name = N'sa' ;
GO
SELECT  [job_id]
      ,[originating_server_id]
      ,[name]
      ,[enabled]
      ,[description]
      ,[start_step_id]
      ,[category_id]
      ,[owner_sid]
      ,[notify_level_eventlog]
      ,[notify_level_email]
      ,[notify_level_netsend]
      ,[notify_level_page]
      ,[notify_email_operator_id]
      ,[notify_netsend_operator_id]
      ,[notify_page_operator_id]
      ,[delete_level]
      ,[date_created]
      ,[date_modified]
      ,[version_number]
  FROM [msdb].[dbo].[sysjobs]
 
 
  select * from [msdb].[dbo].[sysjobs]
 
  SELECT [job_id]
      ,[step_id]
      ,[step_name]
      ,[subsystem]
      ,command
      ,replace([command],'ssas_molniya','diablo')
      ,[flags]
      ,[additional_parameters]
      ,[cmdexec_success_code]
      ,[on_success_action]
      ,[on_success_step_id]
      ,[on_fail_action]
      ,[on_fail_step_id]
      ,[server]
      ,[database_name]
      ,[database_user_name]
      ,[retry_attempts]
      ,[retry_interval]
      ,[os_run_priority]
      ,[output_file_name]
      ,[last_run_outcome]
      ,[last_run_duration]
      ,[last_run_retries]
      ,[last_run_date]
      ,[last_run_time]
      ,[proxy_id]
      ,[step_uid]
  FROM [msdb].[dbo].[sysjobsteps]
  where database_name = 'ssas_molniya' 
  --and command like '%ssas_molniya%' 
  and job_id in (
      select job_id
  FROM [msdb].[dbo].[sysjobs] where date_created > '20140713'
  )
 
 
  update [msdb].[dbo].[sysjobsteps]
  set database_name = 'ssas_molniya_sz'
  
Читать далее