Add updated SqlAgent folder
This commit is contained in:
10
SqlAgent/01_Devl/4_Job_Maintenance/ActivateOnDemandJob.sql
Normal file
10
SqlAgent/01_Devl/4_Job_Maintenance/ActivateOnDemandJob.sql
Normal file
@ -0,0 +1,10 @@
|
||||
USE msdb;
|
||||
GO
|
||||
|
||||
-- Schedule DEVL OnDemand Job on 03 Nov at 18:15 PM
|
||||
------------------------------------------------
|
||||
EXEC dbo.usp_ScheduleJob
|
||||
@JobName='DEVL_MONTHLY_DTSRQ414',
|
||||
@Env='DEVL',
|
||||
@RunDate='2025-11-03',
|
||||
@RunTime='18:15:00';
|
||||
141
SqlAgent/01_Devl/4_Job_Maintenance/AddAllJobsToSQLAgent.sql
Normal file
141
SqlAgent/01_Devl/4_Job_Maintenance/AddAllJobsToSQLAgent.sql
Normal file
@ -0,0 +1,141 @@
|
||||
USE [msdb]
|
||||
GO
|
||||
|
||||
-- Execute the stored procedure for each job
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX215', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX305', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSGSID0', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_GSIRQ300', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSRQ202', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSGSID1', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX202', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSFT202', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX432', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSGACHD', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX303', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSGWAGE', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSGCHKS', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSESDAY', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSGPAYT', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSDX145', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX629', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX630', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSFRAUD', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSRACHD', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBXACH', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBXREG', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX430', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX626', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX530', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBXREL', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX450', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX451', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSPACHD', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSPX148', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSRQ325', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX427', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSPDAY1', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSW4WGE', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSGSID2', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSGSID9', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSMIN01', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSMIN02', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSRQ459', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBXPFL', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DESBD427', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX403', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBE405', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX405', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSRQ335', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX601', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_WEEKLY_DTSGSID0', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_WEEKLY_DTSGSID1', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_WEEKLY_DTSBX202', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_WEEKLY_DTSFT202', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_WEEKLY_DTSBX470', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_WEEKLY_DTSBXREJ', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_WEEKLY_DTSPDAY7', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_WEEKLY_DTSBX122', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_WEEKLY_DTSRQ511', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_WEEKLY_DTSRQ444', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_WEEKLY_DTSRQ126', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_MONTHLY_DTSRQ414', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_MONTHLY_DTSPMON1', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_MONTHLY_DTSCHGVB', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_MONTHLY_DTSCHGVR', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_MONTHLY_DTSVBKUP', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_MONTHLY_DTSVRSTR', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_MONTHLY_DTSRQ442', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_MONTHLY_DTSBX460', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_MONTHLY_DTSRQ513', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_MONTHLY_DTSCHGDC', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRQ119', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRQ902', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSBX500', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRQ417', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRQ320', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRQ713', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSBX468', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSCHGQ1', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSCHGQ2', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRQ327', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRQ328', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRQ412', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRQ793', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSWGE06', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSCHGRT', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSCHRGS', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRQ540', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRQ591', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSRTCHG', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DTSWGE01', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_QUARTERLY_DESBD426', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSACH01', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSBX415', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSBX452', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSBX453', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ120', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ123', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ125', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ305', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ306', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ308', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ311', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ410', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ411', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ423', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ426', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ429', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ439', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ602', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ606', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ607', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ609', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ611', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ612', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ717', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ718', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ720', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRQ721', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRT715', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRT716', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRT717', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRT718', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRT719', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRT720', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRT722', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_ONDEMAND_DTSRT723', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ722', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ451', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ127', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ321', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ455', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ500', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ517', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ518', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ616', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ701', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ702', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ704', @Env = 'DEVL';
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_YEARLY_DTSRQ910', @Env = 'DEVL';
|
||||
GO
|
||||
@ -0,0 +1 @@
|
||||
EXEC msdb.dbo.usp_CreateDailyJobSchedule @Env = 'DEVL';
|
||||
@ -0,0 +1,5 @@
|
||||
USE [msdb]
|
||||
GO
|
||||
|
||||
-- Create a job in SQL Agent (With Standard 3 steps approach)
|
||||
EXEC dbo.usp_CreateSQLAgentJob @JobName = 'DEVL_DAILY_DTSBX215', @Env = 'DEVL';
|
||||
@ -0,0 +1 @@
|
||||
EXEC msdb.dbo.usp_CreateWeeklySchedules @Env = 'DEVL';
|
||||
@ -0,0 +1,86 @@
|
||||
/********************************************************************************************
|
||||
Section 1: Daily Job Schedule Lookup
|
||||
--------------------------------------------------------------------------------------------
|
||||
Description:
|
||||
Returns all SQL Agent jobs scheduled to run on a given date, along with their control
|
||||
status (IsActive) and configured runtime from JobControl.
|
||||
|
||||
Parameters:
|
||||
@CheckDate - The date to check job schedules for.
|
||||
|
||||
Notes:
|
||||
<20> Uses MSDB<44>s internal schedule definitions (sysschedules, sysjobschedules).
|
||||
<20> Supports One-time, Daily, Weekly, and Monthly schedule types.
|
||||
<20> Can easily be adapted for DEVL / TEST / PROD by changing @DbName.
|
||||
|
||||
********************************************************************************************/
|
||||
USE msdb;
|
||||
GO
|
||||
|
||||
DECLARE @CheckDate DATE = CAST(GETDATE() AS DATE); -- Change if needed
|
||||
DECLARE @CheckWeekday INT = DATEPART(WEEKDAY, @CheckDate);
|
||||
DECLARE @Env SYSNAME = 'DEVL'; -- Change for TEST or PROD
|
||||
DECLARE @DbName SYSNAME;
|
||||
|
||||
-- Map environment to the right control DB
|
||||
SET @DbName = CASE @Env
|
||||
WHEN 'DEVL' THEN 'DevlDUTASJobSchedule'
|
||||
WHEN 'TEST' THEN 'TestDUTASJobSchedule'
|
||||
WHEN 'PROD' THEN 'ProdDUTASJobSchedule'
|
||||
END;
|
||||
|
||||
DECLARE @Sql NVARCHAR(MAX);
|
||||
SET @Sql = N'
|
||||
SELECT
|
||||
j.name AS SQLAgentJobName,
|
||||
jc.JobName AS ControlJobName,
|
||||
jc.ScheduledStartTime,
|
||||
jc.IsActive,
|
||||
s.name AS ScheduleName,
|
||||
s.freq_type,
|
||||
s.freq_interval,
|
||||
s.freq_subday_type,
|
||||
s.freq_subday_interval,
|
||||
s.active_start_date,
|
||||
CASE s.freq_type
|
||||
WHEN 1 THEN ''One-time''
|
||||
WHEN 4 THEN ''Daily''
|
||||
WHEN 8 THEN ''Weekly''
|
||||
WHEN 16 THEN ''Monthly''
|
||||
ELSE ''Other''
|
||||
END AS FrequencyType,
|
||||
CASE
|
||||
WHEN s.freq_type = 1
|
||||
AND s.active_start_date = CONVERT(INT, CONVERT(CHAR(8), @CheckDateParam, 112))
|
||||
THEN 1
|
||||
WHEN s.freq_type = 4
|
||||
AND s.active_start_date <= CONVERT(INT, CONVERT(CHAR(8), @CheckDateParam, 112))
|
||||
THEN 1
|
||||
WHEN s.freq_type = 8 -- Weekly
|
||||
AND (POWER(2, @CheckWeekdayParam - 1) & s.freq_interval) > 0
|
||||
THEN 1
|
||||
WHEN s.freq_type = 16 -- Monthly
|
||||
AND DAY(@CheckDateParam) = s.freq_interval
|
||||
THEN 1
|
||||
ELSE 0
|
||||
END AS IsScheduledToday
|
||||
FROM msdb.dbo.sysjobs j
|
||||
JOIN msdb.dbo.sysjobschedules js ON j.job_id = js.job_id
|
||||
JOIN msdb.dbo.sysschedules s ON js.schedule_id = s.schedule_id
|
||||
LEFT JOIN ' + QUOTENAME(@DbName) + '.dbo.JobControl jc ON jc.JobName = j.name
|
||||
WHERE jc.IsActive = 1
|
||||
AND (
|
||||
(s.freq_type = 1 AND s.active_start_date = CONVERT(INT, CONVERT(CHAR(8), @CheckDateParam, 112))) -- One-time
|
||||
OR (s.freq_type = 4 AND s.active_start_date <= CONVERT(INT, CONVERT(CHAR(8), @CheckDateParam, 112))) -- Daily
|
||||
OR (s.freq_type = 8 AND (POWER(2, @CheckWeekdayParam - 1) & s.freq_interval) > 0) -- Weekly
|
||||
OR (s.freq_type = 16 AND DAY(@CheckDateParam) = s.freq_interval) -- Monthly
|
||||
)
|
||||
ORDER BY jc.ScheduledStartTime;
|
||||
';
|
||||
|
||||
EXEC sp_executesql
|
||||
@Sql,
|
||||
N'@CheckDateParam DATE, @CheckWeekdayParam INT',
|
||||
@CheckDateParam = @CheckDate,
|
||||
@CheckWeekdayParam = @CheckWeekday;
|
||||
GO
|
||||
12
SqlAgent/01_Devl/4_Job_Maintenance/DeactivateJob.sql
Normal file
12
SqlAgent/01_Devl/4_Job_Maintenance/DeactivateJob.sql
Normal file
@ -0,0 +1,12 @@
|
||||
USE DevlDUTASJobSchedule;
|
||||
GO
|
||||
|
||||
UPDATE dbo.JobControl
|
||||
SET IsActive = 0
|
||||
WHERE Frequency = 'MONTHLY';
|
||||
GO
|
||||
|
||||
-- Optional: Verify changes
|
||||
SELECT JobName, Frequency, IsActive
|
||||
FROM dbo.JobControl
|
||||
WHERE Frequency = 'MONTHLY';
|
||||
27
SqlAgent/01_Devl/4_Job_Maintenance/DeleteSchedule.sql
Normal file
27
SqlAgent/01_Devl/4_Job_Maintenance/DeleteSchedule.sql
Normal file
@ -0,0 +1,27 @@
|
||||
USE msdb;
|
||||
GO
|
||||
|
||||
DECLARE @EnvPrefix NVARCHAR(50) = N'DEVL'; -- <<< Change this to your environment prefix
|
||||
DECLARE @schedule_id INT;
|
||||
DECLARE @schedule_name NVARCHAR(128);
|
||||
|
||||
DECLARE Sched_Cursor CURSOR FOR
|
||||
SELECT schedule_id, name
|
||||
FROM msdb.dbo.sysschedules
|
||||
WHERE name LIKE @EnvPrefix + '%'; -- Only schedules starting with the given prefix
|
||||
|
||||
OPEN Sched_Cursor;
|
||||
FETCH NEXT FROM Sched_Cursor INTO @schedule_id, @schedule_name;
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
PRINT 'Deleting schedule: ' + @schedule_name;
|
||||
EXEC msdb.dbo.sp_delete_schedule @schedule_id = @schedule_id;
|
||||
FETCH NEXT FROM Sched_Cursor INTO @schedule_id, @schedule_name;
|
||||
END
|
||||
|
||||
CLOSE Sched_Cursor;
|
||||
DEALLOCATE Sched_Cursor;
|
||||
|
||||
PRINT 'All SQL Agent schedules starting with prefix ' + @EnvPrefix + ' deleted successfully.';
|
||||
GO
|
||||
@ -0,0 +1,13 @@
|
||||
-- If you know both the job name and schedule name
|
||||
DECLARE @JobName NVARCHAR(100) = 'DEVL_MONTHLY_DTSCHGDC';
|
||||
DECLARE @ScheduleName NVARCHAR(200) = 'DEVL_MONTHLY_DTSCHGDC_MonthlySchedule';
|
||||
DECLARE @JobId UNIQUEIDENTIFIER;
|
||||
|
||||
-- Get job ID
|
||||
SELECT @JobId = job_id FROM msdb.dbo.sysjobs WHERE name = @JobName;
|
||||
|
||||
-- Detach from specific job
|
||||
EXEC msdb.dbo.sp_detach_schedule @job_id = @JobId, @schedule_name = @ScheduleName;
|
||||
|
||||
-- Then delete
|
||||
EXEC msdb.dbo.sp_delete_schedule @schedule_name = @ScheduleName;
|
||||
63
SqlAgent/01_Devl/4_Job_Maintenance/FederalHolidaysDML.sql
Normal file
63
SqlAgent/01_Devl/4_Job_Maintenance/FederalHolidaysDML.sql
Normal file
@ -0,0 +1,63 @@
|
||||
USE [DevlDUTASJobSchedule];
|
||||
GO
|
||||
|
||||
/**************************************************************************************************
|
||||
-- FILE: FederalHolidays.sql
|
||||
-- PURPOSE: Manage FederalHolidays table - Create, Read, Update, Delete for a single holiday
|
||||
-- TABLE: dbo.FederalHolidays
|
||||
**************************************************************************************************/
|
||||
|
||||
-------------------------------
|
||||
-- SELECT - View Holiday
|
||||
-------------------------------
|
||||
SELECT *
|
||||
FROM [dbo].[FederalHolidays]
|
||||
WHERE [Year] = 2025
|
||||
AND [HolidayName] = N'New Year''s Day';
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- INSERT - Create Holiday
|
||||
-------------------------------
|
||||
INSERT INTO [dbo].[FederalHolidays]
|
||||
(
|
||||
[HolidayDate],
|
||||
[HolidayName],
|
||||
[Year]
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
'2025-01-01', -- Holiday date
|
||||
N'New Year''s Day', -- Holiday name
|
||||
2025 -- Year
|
||||
);
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- UPDATE - Modify Holiday
|
||||
-------------------------------
|
||||
UPDATE [dbo].[FederalHolidays]
|
||||
SET
|
||||
[HolidayName] = N'New Year''s Day (Observed)',
|
||||
[HolidayDate] = '2025-01-02'
|
||||
WHERE
|
||||
[Year] = 2025
|
||||
AND [HolidayName] = N'New Year''s Day';
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- DELETE - Remove Holiday
|
||||
-------------------------------
|
||||
DELETE FROM [dbo].[FederalHolidays]
|
||||
WHERE [Year] = 2025
|
||||
AND [HolidayName] = N'New Year''s Day (Observed)';
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- SELECT - View Holiday
|
||||
-------------------------------
|
||||
SELECT *
|
||||
FROM [dbo].[FederalHolidays]
|
||||
WHERE [Year] = 2025
|
||||
AND [HolidayName] = N'New Year''s Day';
|
||||
GO
|
||||
16
SqlAgent/01_Devl/4_Job_Maintenance/ForceCompleteJob.sql
Normal file
16
SqlAgent/01_Devl/4_Job_Maintenance/ForceCompleteJob.sql
Normal file
@ -0,0 +1,16 @@
|
||||
USE DevlDUTASJobSchedule;
|
||||
GO
|
||||
|
||||
-- 1. Check today's job status
|
||||
SELECT JobName, Status, ErrorMessage
|
||||
FROM dbo.JobExecutionHistory
|
||||
WHERE RunDate = CAST(GETDATE() AS DATE)
|
||||
AND JobName = 'DEVL_WEEKLY_DTSGSID1';
|
||||
|
||||
-- 2. Mark DTSBX305 as manually overridden
|
||||
EXEC dbo.usp_ForceComplete 'DEVL_WEEKLY_DTSGSID1', 'Neeraj.Kumar';
|
||||
|
||||
-- 3. Verify the override
|
||||
SELECT JobName, Status, OverrideBy, OverrideDate
|
||||
FROM dbo.JobExecutionHistory
|
||||
WHERE JobName = 'DEVL_WEEKLY_DTSGSID1' AND RunDate = CAST(GETDATE() AS DATE);
|
||||
@ -0,0 +1,10 @@
|
||||
USE DevlDUTASJobSchedule;
|
||||
GO
|
||||
|
||||
-- Set Job Schedule for the Year 2025
|
||||
EXEC dbo.usp_GenerateJobSchedule @Year = 2025;
|
||||
GO
|
||||
|
||||
-- Set Job Schedule for the Year 2026
|
||||
EXEC dbo.usp_GenerateJobSchedule @Year = 2026;
|
||||
GO
|
||||
68
SqlAgent/01_Devl/4_Job_Maintenance/JobControlDML.sql
Normal file
68
SqlAgent/01_Devl/4_Job_Maintenance/JobControlDML.sql
Normal file
@ -0,0 +1,68 @@
|
||||
USE [DevlDUTASJobSchedule];
|
||||
GO
|
||||
|
||||
/**************************************************************************************************
|
||||
-- FILE: JobControl.sql
|
||||
-- PURPOSE: Manage JobControl table - Create, Read, Update, Delete for a single job
|
||||
-- TABLE: dbo.JobControl
|
||||
**************************************************************************************************/
|
||||
|
||||
-------------------------------
|
||||
-- SELECT - View Job Record
|
||||
-------------------------------
|
||||
SELECT *
|
||||
FROM [dbo].[JobControl]
|
||||
WHERE [JobName] = N'PROD_DAILY_DTSBX215';
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- INSERT - Create Job Record
|
||||
-------------------------------
|
||||
INSERT INTO [dbo].[JobControl]
|
||||
(
|
||||
[JobName],
|
||||
[ScheduledStartTime],
|
||||
[SchedulerAction],
|
||||
[IsActive],
|
||||
[CreatedDate],
|
||||
[Frequency],
|
||||
[FrequencyPattern]
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
N'PROD_DAILY_DTSBX215', -- Job name
|
||||
'14:00:00', -- 2 PM (24-hour format)
|
||||
N'CONTINUE', -- Action
|
||||
1, -- Active
|
||||
GETDATE(), -- Current system time
|
||||
N'DAILY', -- Frequency
|
||||
N'{"Frequency":"Daily","Days":["Mon","Tue","Wed","Thu","Fri"]}' -- JSON pattern
|
||||
);
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- UPDATE - Modify Job Record
|
||||
-------------------------------
|
||||
UPDATE [dbo].[JobControl]
|
||||
SET
|
||||
[ScheduledStartTime] = '15:00:00', -- Change to 3 PM
|
||||
[SchedulerAction] = 'STOP', -- Change to STOP
|
||||
[IsActive] = 0 -- Deactivate
|
||||
WHERE
|
||||
[JobName] = N'PROD_DAILY_DTSBX215';
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- DELETE - Remove Job Record
|
||||
-------------------------------
|
||||
DELETE FROM [dbo].[JobControl]
|
||||
WHERE [JobName] = N'PROD_DAILY_DTSBX215';
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- SELECT - View Job Record
|
||||
-------------------------------
|
||||
SELECT *
|
||||
FROM [dbo].[JobControl]
|
||||
WHERE [JobName] = N'PROD_DAILY_DTSBX215';
|
||||
GO
|
||||
56
SqlAgent/01_Devl/4_Job_Maintenance/JobDependenciesDML.sql
Normal file
56
SqlAgent/01_Devl/4_Job_Maintenance/JobDependenciesDML.sql
Normal file
@ -0,0 +1,56 @@
|
||||
USE [DevlDUTASJobSchedule];
|
||||
GO
|
||||
|
||||
/**************************************************************************************************
|
||||
-- FILE: JobDependencies.sql
|
||||
-- PURPOSE: Manage JobDependencies table - Create, Read, Update, Delete for a single dependency
|
||||
-- TABLE: dbo.JobDependencies
|
||||
**************************************************************************************************/
|
||||
|
||||
-------------------------------
|
||||
-- SELECT - View Dependency
|
||||
-------------------------------
|
||||
SELECT *
|
||||
FROM [dbo].[JobDependencies]
|
||||
WHERE [JobName] = N'PROD_DAILY_DTSGSID0';
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- INSERT - Create Dependency
|
||||
-------------------------------
|
||||
INSERT INTO [dbo].[JobDependencies]
|
||||
(
|
||||
[JobName],
|
||||
[PredecessorJobName]
|
||||
)
|
||||
VALUES
|
||||
(
|
||||
N'PROD_DAILY_DTSGSID0', -- Dependent job
|
||||
N'PROD_DAILY_DTSBX305' -- Predecessor job
|
||||
);
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- UPDATE - Modify Dependency
|
||||
-------------------------------
|
||||
UPDATE [dbo].[JobDependencies]
|
||||
SET [PredecessorJobName] = N'PROD_DAILY_DTSBX215'
|
||||
WHERE [JobName] = N'PROD_DAILY_DTSGSID0'
|
||||
AND [PredecessorJobName] = N'PROD_DAILY_DTSBX305';
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- DELETE - Remove Dependency
|
||||
-------------------------------
|
||||
DELETE FROM [dbo].[JobDependencies]
|
||||
WHERE [JobName] = N'PROD_DAILY_DTSGSID0'
|
||||
AND [PredecessorJobName] = N'PROD_DAILY_DTSBX215';
|
||||
GO
|
||||
|
||||
-------------------------------
|
||||
-- SELECT - View Dependency
|
||||
-------------------------------
|
||||
SELECT *
|
||||
FROM [dbo].[JobDependencies]
|
||||
WHERE [JobName] = N'PROD_DAILY_DTSGSID0';
|
||||
GO
|
||||
47
SqlAgent/01_Devl/4_Job_Maintenance/JobInfo.sql
Normal file
47
SqlAgent/01_Devl/4_Job_Maintenance/JobInfo.sql
Normal file
@ -0,0 +1,47 @@
|
||||
USE msdb;
|
||||
GO
|
||||
|
||||
PRINT '================================================================================';
|
||||
PRINT 'SECTION 1: JOB CONTROL INFORMATION';
|
||||
PRINT '================================================================================';
|
||||
GO
|
||||
|
||||
-- View all active jobs
|
||||
SELECT JobName, ScheduledStartTime, Frequency, IsActive
|
||||
FROM DevlDUTASJobSchedule.dbo.JobControl
|
||||
WHERE IsActive = 1
|
||||
ORDER BY Frequency, ScheduledStartTime;
|
||||
GO
|
||||
|
||||
-- View all inactive jobs
|
||||
SELECT JobName, Frequency, ScheduledStartTime
|
||||
FROM DevlDUTASJobSchedule.dbo.JobControl
|
||||
WHERE IsActive = 0
|
||||
ORDER BY Frequency;
|
||||
GO
|
||||
|
||||
-- Find weekly/monthly jobs
|
||||
SELECT JobName, Frequency, ScheduledStartTime
|
||||
FROM DevlDUTASJobSchedule.dbo.JobControl
|
||||
WHERE Frequency IN ('WEEKLY', 'MONTHLY')
|
||||
ORDER BY Frequency, ScheduledStartTime;
|
||||
GO
|
||||
|
||||
PRINT '================================================================================';
|
||||
PRINT 'SECTION 2: JOB DEPENDENCIES';
|
||||
PRINT '================================================================================';
|
||||
GO
|
||||
|
||||
-- Check dependencies for a job
|
||||
DECLARE @Job NVARCHAR(100) = 'DEVL_MONTHLY_DTSCHGVR';
|
||||
SELECT JobName, PredecessorJobName
|
||||
FROM DevlDUTASJobSchedule.dbo.JobDependencies
|
||||
WHERE JobName = @Job;
|
||||
GO
|
||||
|
||||
-- Show dependency chain overview
|
||||
SELECT d.JobName, d.PredecessorJobName, jc.ScheduledStartTime, jc.Frequency
|
||||
FROM DevlDUTASJobSchedule.dbo.JobDependencies d
|
||||
JOIN DevlDUTASJobSchedule.dbo.JobControl jc ON d.JobName = jc.JobName
|
||||
ORDER BY jc.Frequency, jc.ScheduledStartTime;
|
||||
GO
|
||||
42
SqlAgent/01_Devl/4_Job_Maintenance/SQLAgentInfo.sql
Normal file
42
SqlAgent/01_Devl/4_Job_Maintenance/SQLAgentInfo.sql
Normal file
@ -0,0 +1,42 @@
|
||||
USE msdb;
|
||||
GO
|
||||
|
||||
PRINT '================================================================================';
|
||||
PRINT 'SECTION 1: SQL AGENT JOB STATUS';
|
||||
PRINT '================================================================================';
|
||||
GO
|
||||
|
||||
-- List all jobs in SQL Agent
|
||||
SELECT name AS JobName, enabled, date_created, date_modified
|
||||
FROM msdb.dbo.sysjobs
|
||||
ORDER BY name;
|
||||
GO
|
||||
|
||||
-- Job schedule summary
|
||||
SELECT j.name AS JobName, s.name AS ScheduleName,
|
||||
s.enabled, s.freq_type, s.active_start_date, s.active_start_time
|
||||
FROM msdb.dbo.sysjobs j
|
||||
JOIN msdb.dbo.sysjobschedules js ON j.job_id = js.job_id
|
||||
JOIN msdb.dbo.sysschedules s ON js.schedule_id = s.schedule_id
|
||||
ORDER BY j.name;
|
||||
GO
|
||||
|
||||
-- Last job run details
|
||||
SELECT j.name AS JobName,
|
||||
h.run_status,
|
||||
CASE h.run_status
|
||||
WHEN 0 THEN 'Failed'
|
||||
WHEN 1 THEN 'Succeeded'
|
||||
WHEN 2 THEN 'Retry'
|
||||
WHEN 3 THEN 'Canceled'
|
||||
WHEN 4 THEN 'In Progress'
|
||||
END AS StatusDescription,
|
||||
msdb.dbo.agent_datetime(h.run_date, h.run_time) AS RunDateTime,
|
||||
h.run_duration
|
||||
FROM dbo.sysjobs j
|
||||
LEFT JOIN dbo.sysjobhistory h ON j.job_id = h.job_id
|
||||
WHERE h.instance_id IN (
|
||||
SELECT MAX(instance_id) FROM dbo.sysjobhistory GROUP BY job_id
|
||||
)
|
||||
ORDER BY RunDateTime DESC;
|
||||
GO
|
||||
@ -0,0 +1,3 @@
|
||||
USE DevlDUTASJobSchedule;
|
||||
GO
|
||||
EXEC dbo.usp_ScheduleJobsForMonth;
|
||||
21
SqlAgent/01_Devl/4_Job_Maintenance/TodaysExecution.sql
Normal file
21
SqlAgent/01_Devl/4_Job_Maintenance/TodaysExecution.sql
Normal file
@ -0,0 +1,21 @@
|
||||
USE DevlDUTASJobSchedule;
|
||||
GO
|
||||
|
||||
DECLARE @Runday DATE = DATEADD(day, +0, CAST(GETDATE() AS DATE)); -- -1 for Yesterday
|
||||
|
||||
SELECT
|
||||
jeh.ExecutionID,
|
||||
jeh.JobName,
|
||||
jeh.RunDate,
|
||||
jc.ScheduledStartTime,
|
||||
jeh.ActualStartTime,
|
||||
jeh.ActualEndTime,
|
||||
jeh.Status,
|
||||
jeh.ErrorMessage,
|
||||
jeh.OverrideFlag,
|
||||
jeh.OverrideBy
|
||||
FROM dbo.JobExecutionHistory jeh
|
||||
INNER JOIN dbo.JobControl jc
|
||||
ON jeh.JobName = jc.JobName
|
||||
WHERE jeh.RunDate = @Runday
|
||||
ORDER BY jc.ScheduledStartTime, jeh.ActualStartTime;
|
||||
9
SqlAgent/01_Devl/4_Job_Maintenance/TriggerMissedJob.sql
Normal file
9
SqlAgent/01_Devl/4_Job_Maintenance/TriggerMissedJob.sql
Normal file
@ -0,0 +1,9 @@
|
||||
USE [DevlDUTASJobSchedule]
|
||||
GO
|
||||
|
||||
-- 1. Preview missed jobs (safe, no run):
|
||||
EXEC dbo.usp_TriggerMissedJobs @DryRun = 1;
|
||||
|
||||
-- 2. Actually trigger missed jobs:
|
||||
EXEC dbo.usp_TriggerMissedJobs @DryRun = 0;
|
||||
|
||||
Reference in New Issue
Block a user