Add SQLAgent folder
This commit is contained in:
62
SQLAgent/01_Devl/1_Database_Setup/CreateDB.sql
Normal file
62
SQLAgent/01_Devl/1_Database_Setup/CreateDB.sql
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
-- Create the database
|
||||||
|
CREATE DATABASE DevlDUTASJobSchedule;
|
||||||
|
GO
|
||||||
|
|
||||||
|
USE DevlDUTASJobSchedule;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create the main control table
|
||||||
|
CREATE TABLE dbo.JobControl (
|
||||||
|
JobID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
JobName VARCHAR(50) NOT NULL UNIQUE,
|
||||||
|
ScheduledStartTime TIME NOT NULL,
|
||||||
|
SchedulerAction VARCHAR(10) NOT NULL CHECK (SchedulerAction IN ('CONTINUE', 'STOP')),
|
||||||
|
IsActive BIT DEFAULT 1,
|
||||||
|
CreatedDate DATETIME DEFAULT GETDATE()
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create job dependencies table
|
||||||
|
CREATE TABLE dbo.JobDependencies (
|
||||||
|
DependencyID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
JobName VARCHAR(50) NOT NULL,
|
||||||
|
PredecessorJobName VARCHAR(50) NULL,
|
||||||
|
FOREIGN KEY (JobName) REFERENCES dbo.JobControl(JobName)
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create execution history table
|
||||||
|
CREATE TABLE dbo.JobExecutionHistory (
|
||||||
|
ExecutionID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
JobName VARCHAR(50) NOT NULL,
|
||||||
|
RunDate DATE NOT NULL,
|
||||||
|
ScheduledStartTime TIME NOT NULL,
|
||||||
|
ActualStartTime DATETIME NULL,
|
||||||
|
ActualEndTime DATETIME NULL,
|
||||||
|
Status VARCHAR(20) DEFAULT 'Pending' CHECK (Status IN ('Pending', 'Running', 'Success', 'Failed', 'ForceComplete')),
|
||||||
|
ErrorMessage VARCHAR(MAX) NULL,
|
||||||
|
OverrideFlag BIT DEFAULT 0,
|
||||||
|
OverrideBy VARCHAR(100) NULL,
|
||||||
|
OverrideDate DATETIME NULL
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create holidays table
|
||||||
|
CREATE TABLE dbo.FederalHolidays (
|
||||||
|
HolidayID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
HolidayDate DATE NOT NULL UNIQUE,
|
||||||
|
HolidayName VARCHAR(100) NOT NULL,
|
||||||
|
Year INT NOT NULL
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create Exit Code table for PowerShell Script
|
||||||
|
CREATE TABLE dbo.JobExitCodes
|
||||||
|
(
|
||||||
|
JobExecutionID INT IDENTITY(1,1) PRIMARY KEY, -- unique ID per execution
|
||||||
|
JobName NVARCHAR(128) NOT NULL, -- job name
|
||||||
|
RunDate DATE NOT NULL, -- date of execution
|
||||||
|
ExitCode INT NOT NULL, -- exit code from job
|
||||||
|
RecordedTime DATETIME NOT NULL DEFAULT GETDATE() -- timestamp of execution
|
||||||
|
);
|
||||||
|
GO
|
||||||
31
SQLAgent/01_Devl/1_Database_Setup/InsertHolidays.sql
Normal file
31
SQLAgent/01_Devl/1_Database_Setup/InsertHolidays.sql
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
-- Clear existing data and insert 2025-2026 holidays (ignoring 0000000000 dates)
|
||||||
|
INSERT INTO dbo.FederalHolidays (HolidayDate, HolidayName, Year) VALUES
|
||||||
|
-- 2025 Holidays
|
||||||
|
('2025-01-01', 'New Years Day', 2025),
|
||||||
|
('2025-01-20', 'Martin Luther King Day', 2025),
|
||||||
|
('2025-02-17', 'Presidents Day', 2025),
|
||||||
|
('2025-05-26', 'Memorial Day', 2025),
|
||||||
|
('2025-06-19', 'Juneteenth Day', 2025),
|
||||||
|
('2025-07-04', 'Independence Day', 2025),
|
||||||
|
('2025-09-01', 'Labor Day', 2025),
|
||||||
|
('2025-10-13', 'Columbus Day', 2025),
|
||||||
|
('2025-11-11', 'Veterans Day', 2025),
|
||||||
|
('2025-11-27', 'Thanksgiving Day', 2025),
|
||||||
|
('2025-12-25', 'Christmas Day', 2025),
|
||||||
|
|
||||||
|
-- 2026 Holidays
|
||||||
|
('2026-01-01', 'New Years Day', 2026),
|
||||||
|
('2026-01-19', 'Martin Luther King Day', 2026),
|
||||||
|
('2026-02-16', 'Presidents Day', 2026),
|
||||||
|
('2026-05-25', 'Memorial Day', 2026),
|
||||||
|
('2026-06-19', 'Juneteenth Day', 2026),
|
||||||
|
('2026-07-03', 'Independence Day', 2026), -- Note: July 3rd observed since July 4th is Saturday
|
||||||
|
('2026-09-07', 'Labor Day', 2026),
|
||||||
|
('2026-10-12', 'Columbus Day', 2026),
|
||||||
|
('2026-11-11', 'Veterans Day', 2026),
|
||||||
|
('2026-11-26', 'Thanksgiving Day', 2026),
|
||||||
|
('2026-12-25', 'Christmas Day', 2026);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Verify the data
|
||||||
|
SELECT * FROM dbo.FederalHolidays ORDER BY HolidayDate;
|
||||||
79
SQLAgent/01_Devl/1_Database_Setup/InsertJobControl.sql
Normal file
79
SQLAgent/01_Devl/1_Database_Setup/InsertJobControl.sql
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
USE [DevlDUTASJobSchedule]
|
||||||
|
GO
|
||||||
|
|
||||||
|
INSERT INTO [dbo].[JobControl] (
|
||||||
|
[JobName],
|
||||||
|
[ScheduledStartTime],
|
||||||
|
[SchedulerAction],
|
||||||
|
[IsActive],
|
||||||
|
[CreatedDate],
|
||||||
|
[Frequency]
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
('DEVL_DAILY_DTSBX215', '4:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX305', '4:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSGSID0', '6:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_GSIRQ300', '6:05:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSRQ202', '6:10:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSGSID1', '6:15:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX202', '7:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSFT202', '8:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX432', '8:30:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSGACHD', '9:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX303', '10:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSGWAGE', '14:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSGCHKS', '14:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSESDAY', '14:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSGPAYT', '14:10:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSDX145', '16:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX629', '16:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX630', '16:30:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSFRAUD', '16:30:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSRACHD', '17:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBXACH', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBXREG', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX430', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX626', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX530', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBXREL', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX450', '17:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX451', '17:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSPACHD', '18:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSPX148', '18:05:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSRQ325', '18:05:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX427', '18:07:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSPDAY1', '18:10:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSW4WGE', '18:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSGSID2', '18:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSGSID9', '18:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSMIN01', '18:20:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSMIN02', '18:20:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSRQ459', '19:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBXPFL', '19:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DESBD427', '19:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX403', '20:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBE405', '20:15:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX405', '20:15:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSRQ335', '21:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_DAILY_DTSBX601', '21:25:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('DEVL_WEEKLY_DTSGSID0', '6:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('DEVL_WEEKLY_DTSGSID1', '6:15:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('DEVL_WEEKLY_DTSBX202', '7:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('DEVL_WEEKLY_DTSFT202', '8:00:00', 'STOP', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('DEVL_WEEKLY_DTSBX470', '7:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('DEVL_WEEKLY_DTSBXREJ', '17:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('DEVL_WEEKLY_DTSPDAY7', '19:10:00', 'STOP', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('DEVL_WEEKLY_DTSBX122', '19:14:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('DEVL_WEEKLY_DTSRQ511', '19:14:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('DEVL_WEEKLY_DTSRQ444', '7:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('DEVL_WEEKLY_DTSRQ126', '9:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('DEVL_MONTHLY_DTSRQ414', '18:15:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('DEVL_MONTHLY_DTSPMON1', '19:15:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('DEVL_MONTHLY_DTSCHGVB', '19:26:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('DEVL_MONTHLY_DTSCHGVR', '19:27:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('DEVL_MONTHLY_DTSVBKUP', '19:26:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('DEVL_MONTHLY_DTSVRSTR', '19:30:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('DEVL_MONTHLY_DTSRQ442', '19:37:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('DEVL_MONTHLY_DTSBX460', '19:35:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('DEVL_MONTHLY_DTSRQ513', '19:37:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('DEVL_MONTHLY_DTSCHGDC', '13:00:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY');
|
||||||
75
SQLAgent/01_Devl/1_Database_Setup/InsertJobDependencies.sql
Normal file
75
SQLAgent/01_Devl/1_Database_Setup/InsertJobDependencies.sql
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
USE [DevlDUTASJobSchedule]
|
||||||
|
GO
|
||||||
|
|
||||||
|
INSERT INTO [dbo].[JobDependencies] (
|
||||||
|
[JobName],
|
||||||
|
[PredecessorJobName]
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
('DEVL_DAILY_DTSGSID0','DEVL_DAILY_DTSBX305'),
|
||||||
|
('DEVL_DAILY_GSIRQ300','DEVL_DAILY_DTSBX305'),
|
||||||
|
('DEVL_DAILY_DTSRQ202','DEVL_DAILY_GSIRQ300'),
|
||||||
|
('DEVL_DAILY_DTSGSID1','DEVL_DAILY_GSIRQ300'),
|
||||||
|
('DEVL_DAILY_DTSBX202','DEVL_DAILY_GSIRQ300'),
|
||||||
|
('DEVL_DAILY_DTSFT202','DEVL_DAILY_GSIRQ300'),
|
||||||
|
('DEVL_DAILY_DTSBX432','DEVL_DAILY_GSIRQ300'),
|
||||||
|
('DEVL_DAILY_DTSGACHD','DEVL_DAILY_GSIRQ300'),
|
||||||
|
('DEVL_DAILY_DTSBX303','DEVL_DAILY_GSIRQ300'),
|
||||||
|
('DEVL_DAILY_DTSGWAGE','DEVL_DAILY_GSIRQ300'),
|
||||||
|
('DEVL_DAILY_DTSGCHKS','DEVL_DAILY_DTSGWAGE'),
|
||||||
|
('DEVL_DAILY_DTSESDAY','DEVL_DAILY_DTSGCHKS'),
|
||||||
|
('DEVL_DAILY_DTSGPAYT','DEVL_DAILY_DTSESDAY'),
|
||||||
|
('DEVL_DAILY_DTSDX145','DEVL_DAILY_DTSGPAYT'),
|
||||||
|
('DEVL_DAILY_DTSBX629','DEVL_DAILY_GSIRQ300'),
|
||||||
|
('DEVL_DAILY_DTSBX630','DEVL_DAILY_DTSBX629'),
|
||||||
|
('DEVL_DAILY_DTSFRAUD','DEVL_DAILY_DTSBX630'),
|
||||||
|
('DEVL_DAILY_DTSRACHD','DEVL_DAILY_DTSFRAUD'),
|
||||||
|
('DEVL_DAILY_DTSBXACH','DEVL_DAILY_DTSFRAUD'),
|
||||||
|
('DEVL_DAILY_DTSBXREG','DEVL_DAILY_DTSFRAUD'),
|
||||||
|
('DEVL_DAILY_DTSBX430','DEVL_DAILY_DTSFRAUD'),
|
||||||
|
('DEVL_DAILY_DTSBX626','DEVL_DAILY_DTSFRAUD'),
|
||||||
|
('DEVL_DAILY_DTSBX530','DEVL_DAILY_DTSFRAUD'),
|
||||||
|
('DEVL_DAILY_DTSBXREL','DEVL_DAILY_DTSFRAUD'),
|
||||||
|
('DEVL_DAILY_DTSBX450','DEVL_DAILY_DTSBXACH'),
|
||||||
|
('DEVL_DAILY_DTSBX450','DEVL_DAILY_DTSBXREG'),
|
||||||
|
('DEVL_DAILY_DTSBX450','DEVL_DAILY_DTSBX430'),
|
||||||
|
('DEVL_DAILY_DTSBX450','DEVL_DAILY_DTSBX626'),
|
||||||
|
('DEVL_DAILY_DTSBX450','DEVL_DAILY_DTSBX530'),
|
||||||
|
('DEVL_DAILY_DTSBX450','DEVL_DAILY_DTSBXREL'),
|
||||||
|
('DEVL_DAILY_DTSBX451','DEVL_DAILY_DTSBXACH'),
|
||||||
|
('DEVL_DAILY_DTSBX451','DEVL_DAILY_DTSBXREG'),
|
||||||
|
('DEVL_DAILY_DTSBX451','DEVL_DAILY_DTSBX430'),
|
||||||
|
('DEVL_DAILY_DTSBX451','DEVL_DAILY_DTSBX626'),
|
||||||
|
('DEVL_DAILY_DTSBX451','DEVL_DAILY_DTSBX530'),
|
||||||
|
('DEVL_DAILY_DTSBX451','DEVL_DAILY_DTSBXREL'),
|
||||||
|
('DEVL_DAILY_DTSPACHD','DEVL_DAILY_DTSBX451'),
|
||||||
|
('DEVL_DAILY_DTSPX148','DEVL_DAILY_DTSPACHD'),
|
||||||
|
('DEVL_DAILY_DTSRQ325','DEVL_DAILY_DTSPX148'),
|
||||||
|
('DEVL_DAILY_DTSBX427','DEVL_DAILY_DTSRQ325'),
|
||||||
|
('DEVL_DAILY_DTSPDAY1','DEVL_DAILY_DTSBX427'),
|
||||||
|
('DEVL_DAILY_DTSW4WGE','DEVL_DAILY_DTSPDAY1'),
|
||||||
|
('DEVL_DAILY_DTSGSID2','DEVL_DAILY_DTSPDAY1'),
|
||||||
|
('DEVL_DAILY_DTSGSID9','DEVL_DAILY_DTSPDAY1'),
|
||||||
|
('DEVL_DAILY_DTSMIN01','DEVL_DAILY_DTSW4WGE'),
|
||||||
|
('DEVL_DAILY_DTSMIN01','DEVL_DAILY_DTSGSID2'),
|
||||||
|
('DEVL_DAILY_DTSMIN01','DEVL_DAILY_DTSGSID9'),
|
||||||
|
('DEVL_DAILY_DTSMIN02','DEVL_DAILY_DTSW4WGE'),
|
||||||
|
('DEVL_DAILY_DTSMIN02','DEVL_DAILY_DTSGSID2'),
|
||||||
|
('DEVL_DAILY_DTSMIN02','DEVL_DAILY_DTSGSID9'),
|
||||||
|
('DEVL_DAILY_DTSRQ459','DEVL_DAILY_DTSMIN02'),
|
||||||
|
('DEVL_DAILY_DTSBXPFL','DEVL_DAILY_DTSRQ459'),
|
||||||
|
('DEVL_DAILY_DESBD427','DEVL_DAILY_DTSBXPFL'),
|
||||||
|
('DEVL_DAILY_DTSBX403','DEVL_DAILY_DTSBXPFL'),
|
||||||
|
('DEVL_DAILY_DTSBE405','DEVL_DAILY_DTSBXPFL'),
|
||||||
|
('DEVL_DAILY_DTSBX405','DEVL_DAILY_DTSBXPFL'),
|
||||||
|
('DEVL_DAILY_DTSRQ335','DEVL_DAILY_DTSBXPFL'),
|
||||||
|
('DEVL_DAILY_DTSBX601','DEVL_DAILY_DTSRQ335'),
|
||||||
|
('DEVL_WEEKLY_DTSBXREJ','DEVL_DAILY_DTSBXREL'),
|
||||||
|
('DEVL_WEEKLY_DTSBX122','DEVL_WEEKLY_DTSPDAY7'),
|
||||||
|
('DEVL_WEEKLY_DTSRQ511','DEVL_WEEKLY_DTSPDAY7'),
|
||||||
|
('DEVL_MONTHLY_DTSRQ414','DEVL_DAILY_DTSPDAY1'),
|
||||||
|
('DEVL_MONTHLY_DTSCHGVB','DEVL_MONTHLY_DTSPMON1'),
|
||||||
|
('DEVL_MONTHLY_DTSCHGVR','DEVL_MONTHLY_DTSCHGVB'),
|
||||||
|
('DEVL_MONTHLY_DTSVBKUP','DEVL_MONTHLY_DTSPMON1'),
|
||||||
|
('DEVL_MONTHLY_DTSVRSTR','DEVL_MONTHLY_DTSVBKUP'),
|
||||||
|
('DEVL_MONTHLY_DTSRQ442','DEVL_MONTHLY_DTSRQ513');
|
||||||
BIN
SQLAgent/01_Devl/2_Stored_Procedures/usp_CheckJobConditions.sql
Normal file
BIN
SQLAgent/01_Devl/2_Stored_Procedures/usp_CheckJobConditions.sql
Normal file
Binary file not shown.
Binary file not shown.
BIN
SQLAgent/01_Devl/2_Stored_Procedures/usp_CreateSQLAgentJob.sql
Normal file
BIN
SQLAgent/01_Devl/2_Stored_Procedures/usp_CreateSQLAgentJob.sql
Normal file
Binary file not shown.
BIN
SQLAgent/01_Devl/2_Stored_Procedures/usp_ForceComplete.sql
Normal file
BIN
SQLAgent/01_Devl/2_Stored_Procedures/usp_ForceComplete.sql
Normal file
Binary file not shown.
BIN
SQLAgent/01_Devl/2_Stored_Procedures/usp_ScheduleMonthlyJob.sql
Normal file
BIN
SQLAgent/01_Devl/2_Stored_Procedures/usp_ScheduleMonthlyJob.sql
Normal file
Binary file not shown.
BIN
SQLAgent/01_Devl/2_Stored_Procedures/usp_TriggerMissedJobs.sql
Normal file
BIN
SQLAgent/01_Devl/2_Stored_Procedures/usp_TriggerMissedJobs.sql
Normal file
Binary file not shown.
Binary file not shown.
65
SQLAgent/01_Devl/3_Job_Maintenance/ActivateMonthlyJob.sql
Normal file
65
SQLAgent/01_Devl/3_Job_Maintenance/ActivateMonthlyJob.sql
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
USE msdb;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Schedule DEVL Monthly Jobs for October 2025
|
||||||
|
------------------------------------------------
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='DEVL_MONTHLY_DTSRQ414',
|
||||||
|
@Env='DEVL',
|
||||||
|
@RunDate='2025-11-03',
|
||||||
|
@RunTime='18:15:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='DEVL_MONTHLY_DTSPMON1',
|
||||||
|
@Env='DEVL',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:15:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='DEVL_MONTHLY_DTSCHGVB',
|
||||||
|
@Env='DEVL',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:26:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='DEVL_MONTHLY_DTSCHGVR',
|
||||||
|
@Env='DEVL',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:27:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='DEVL_MONTHLY_DTSVBKUP',
|
||||||
|
@Env='DEVL',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:26:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='DEVL_MONTHLY_DTSVRSTR',
|
||||||
|
@Env='DEVL',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:30:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='DEVL_MONTHLY_DTSRQ442',
|
||||||
|
@Env='DEVL',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:37:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='DEVL_MONTHLY_DTSBX460',
|
||||||
|
@Env='DEVL',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:35:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='DEVL_MONTHLY_DTSRQ513',
|
||||||
|
@Env='DEVL',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:37:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='DEVL_MONTHLY_DTSCHGDC',
|
||||||
|
@Env='DEVL',
|
||||||
|
@RunDate='2025-11-03',
|
||||||
|
@RunTime='13:00:00';
|
||||||
|
GO
|
||||||
279
SQLAgent/01_Devl/3_Job_Maintenance/AddDailyJobs.sql
Normal file
279
SQLAgent/01_Devl/3_Job_Maintenance/AddDailyJobs.sql
Normal file
@ -0,0 +1,279 @@
|
|||||||
|
USE [msdb]
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Execute the stored procedure for each job
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX215',
|
||||||
|
@StartTimeHHMMSS = 40000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX305',
|
||||||
|
@StartTimeHHMMSS = 40000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSGSID0',
|
||||||
|
@StartTimeHHMMSS = 60000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_GSIRQ300',
|
||||||
|
@StartTimeHHMMSS = 60500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSRQ202',
|
||||||
|
@StartTimeHHMMSS = 61000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSGSID1',
|
||||||
|
@StartTimeHHMMSS = 61500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX202',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSFT202',
|
||||||
|
@StartTimeHHMMSS = 80000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX432',
|
||||||
|
@StartTimeHHMMSS = 83000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSGACHD',
|
||||||
|
@StartTimeHHMMSS = 90000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX303',
|
||||||
|
@StartTimeHHMMSS = 100000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSGWAGE',
|
||||||
|
@StartTimeHHMMSS = 140000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSGCHKS',
|
||||||
|
@StartTimeHHMMSS = 140500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSESDAY',
|
||||||
|
@StartTimeHHMMSS = 140500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSGPAYT',
|
||||||
|
@StartTimeHHMMSS = 141000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSDX145',
|
||||||
|
@StartTimeHHMMSS = 160500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX629',
|
||||||
|
@StartTimeHHMMSS = 161500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX630',
|
||||||
|
@StartTimeHHMMSS = 163000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSFRAUD',
|
||||||
|
@StartTimeHHMMSS = 163000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSRACHD',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBXACH',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBXREG',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX430',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX626',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX530',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBXREL',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX450',
|
||||||
|
@StartTimeHHMMSS = 171500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX451',
|
||||||
|
@StartTimeHHMMSS = 171500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSPACHD',
|
||||||
|
@StartTimeHHMMSS = 180000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSPX148',
|
||||||
|
@StartTimeHHMMSS = 180500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSRQ325',
|
||||||
|
@StartTimeHHMMSS = 180500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX427',
|
||||||
|
@StartTimeHHMMSS = 180700,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSPDAY1',
|
||||||
|
@StartTimeHHMMSS = 181000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSW4WGE',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSGSID2',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSGSID9',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSMIN01',
|
||||||
|
@StartTimeHHMMSS = 182000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSMIN02',
|
||||||
|
@StartTimeHHMMSS = 182000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSRQ459',
|
||||||
|
@StartTimeHHMMSS = 190000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBXPFL',
|
||||||
|
@StartTimeHHMMSS = 190000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DESBD427',
|
||||||
|
@StartTimeHHMMSS = 190500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX403',
|
||||||
|
@StartTimeHHMMSS = 200000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBE405',
|
||||||
|
@StartTimeHHMMSS = 201500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX405',
|
||||||
|
@StartTimeHHMMSS = 201500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSRQ335',
|
||||||
|
@StartTimeHHMMSS = 210000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX601',
|
||||||
|
@StartTimeHHMMSS = 212500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
76
SQLAgent/01_Devl/3_Job_Maintenance/AddMonthlyJobs.sql
Normal file
76
SQLAgent/01_Devl/3_Job_Maintenance/AddMonthlyJobs.sql
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
USE [msdb];
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Note: Frequency here is used only for description (used for category): MONTHLY
|
||||||
|
-- By Default Job will be scheduled Mon to Fri at specified time. Please change the schedules as per the requirement.
|
||||||
|
|
||||||
|
-- 1.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_MONTHLY_DTSRQ414',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 2.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_MONTHLY_DTSPMON1',
|
||||||
|
@StartTimeHHMMSS = 191500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 3.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_MONTHLY_DTSCHGVB',
|
||||||
|
@StartTimeHHMMSS = 192600,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 4.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_MONTHLY_DTSCHGVR',
|
||||||
|
@StartTimeHHMMSS = 192700,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 5.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_MONTHLY_DTSVBKUP',
|
||||||
|
@StartTimeHHMMSS = 192600,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 6.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_MONTHLY_DTSVRSTR',
|
||||||
|
@StartTimeHHMMSS = 193000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 7.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_MONTHLY_DTSRQ442',
|
||||||
|
@StartTimeHHMMSS = 193700,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 8.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_MONTHLY_DTSBX460',
|
||||||
|
@StartTimeHHMMSS = 193500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 9.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_MONTHLY_DTSRQ513',
|
||||||
|
@StartTimeHHMMSS = 193700,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 10.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_MONTHLY_DTSCHGDC',
|
||||||
|
@StartTimeHHMMSS = 130000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
GO
|
||||||
9
SQLAgent/01_Devl/3_Job_Maintenance/AddOneJob.sql
Normal file
9
SQLAgent/01_Devl/3_Job_Maintenance/AddOneJob.sql
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
USE [msdb]
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create a job that runs Monday-Friday at 4:00 AM
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_DAILY_DTSBX215',
|
||||||
|
@StartTimeHHMMSS = 40000, -- For 4:00:00 AM (143000 for 2:30:00 PM)
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
81
SQLAgent/01_Devl/3_Job_Maintenance/AddWeeklyJobs.sql
Normal file
81
SQLAgent/01_Devl/3_Job_Maintenance/AddWeeklyJobs.sql
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
USE [msdb]
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Note: Frequency here is used only for description (used for category): DAILY, WEEKLY, etc.
|
||||||
|
-- By Default Job will be scheduled to run on Mon to Fri at specified time. Please change the schedules as per the requirement.
|
||||||
|
-- 1.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_WEEKLY_DTSGSID0',
|
||||||
|
@StartTimeHHMMSS = 60000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 2.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_WEEKLY_DTSGSID1',
|
||||||
|
@StartTimeHHMMSS = 61500,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 3.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_WEEKLY_DTSBX202',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 4.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_WEEKLY_DTSFT202',
|
||||||
|
@StartTimeHHMMSS = 80000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 5.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_WEEKLY_DTSBX470',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 6.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_WEEKLY_DTSBXREJ',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 7.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_WEEKLY_DTSPDAY7',
|
||||||
|
@StartTimeHHMMSS = 191000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 8.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_WEEKLY_DTSBX122',
|
||||||
|
@StartTimeHHMMSS = 191400,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 9.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_WEEKLY_DTSRQ511',
|
||||||
|
@StartTimeHHMMSS = 191400,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 10.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_WEEKLY_DTSRQ444',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 11.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'DEVL_WEEKLY_DTSRQ126',
|
||||||
|
@StartTimeHHMMSS = 90000,
|
||||||
|
@Env = 'DEVL',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
@ -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/3_Job_Maintenance/DeactivateMonthlyJob.sql
Normal file
12
SQLAgent/01_Devl/3_Job_Maintenance/DeactivateMonthlyJob.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';
|
||||||
@ -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;
|
||||||
16
SQLAgent/01_Devl/3_Job_Maintenance/ForceCompleteJob.sql
Normal file
16
SQLAgent/01_Devl/3_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);
|
||||||
47
SQLAgent/01_Devl/3_Job_Maintenance/JobInfo.sql
Normal file
47
SQLAgent/01_Devl/3_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/3_Job_Maintenance/SQLAgentInfo.sql
Normal file
42
SQLAgent/01_Devl/3_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
|
||||||
21
SQLAgent/01_Devl/3_Job_Maintenance/TodaysExecution.sql
Normal file
21
SQLAgent/01_Devl/3_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/3_Job_Maintenance/TriggerMissedJob.sql
Normal file
9
SQLAgent/01_Devl/3_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;
|
||||||
|
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
# Example PowerShell snippet
|
||||||
|
$Server = "DOES-DUTAS-SQL1"
|
||||||
|
$BackupPath = "\\DOES-RAINVM-DEV\E$\Neeraj\SqlAgent\Backup\"
|
||||||
|
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
||||||
|
$ZipFile = "$BackupPath\SQLAgentJobs_$Timestamp.zip"
|
||||||
|
|
||||||
|
# Make backup folder if not exist
|
||||||
|
if (-not (Test-Path $BackupPath)) { New-Item -ItemType Directory -Path $BackupPath }
|
||||||
|
|
||||||
|
# Export all jobs as SQL files
|
||||||
|
sqlcmd -S $Server -Q "EXEC msdb.dbo.sp_help_job" -o "$BackupPath\SQLAgentJobs_$Timestamp.txt"
|
||||||
|
|
||||||
|
# Compress to zip
|
||||||
|
Compress-Archive -Path "$BackupPath\*" -DestinationPath $ZipFile -Force
|
||||||
|
|
||||||
|
Write-Host "✅ Backup complete: $ZipFile"
|
||||||
102
SQLAgent/01_Devl/4_PowerShell_Scripts/Execute-RemoteJob.ps1
Normal file
102
SQLAgent/01_Devl/4_PowerShell_Scripts/Execute-RemoteJob.ps1
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]$JobName,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[ValidateSet('DEVL', 'TEST', 'PROD')]
|
||||||
|
[string]$Env
|
||||||
|
)
|
||||||
|
|
||||||
|
try {
|
||||||
|
Write-Host "Starting job $JobName in environment $Env at $(Get-Date)"
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Extract JCL from JobName (ENV_FREQUENCY_JOB pattern)
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
$JCL = $JobName -replace '^[A-Z]+_[A-Z]+_', ''
|
||||||
|
Write-Host "Extracted JCL: $JCL from JobName: $JobName" -ForegroundColor Yellow
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Environment-specific configuration
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
switch ($Env.ToUpper()) {
|
||||||
|
'DEVL' {
|
||||||
|
$ComputerName = '10.57.110.120'
|
||||||
|
$DatabaseName = 'DevlDUTASJobSchedule'
|
||||||
|
}
|
||||||
|
'TEST' {
|
||||||
|
$ComputerName = '10.57.110.141'
|
||||||
|
$DatabaseName = 'TestDUTASJobSchedule'
|
||||||
|
}
|
||||||
|
'PROD' {
|
||||||
|
$ComputerName = '10.57.111.120'
|
||||||
|
$DatabaseName = 'ProdDUTASJobSchedule'
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
throw "Invalid environment specified: $Env"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Remote credentials
|
||||||
|
# (recommend moving credentials to secure vault for production)
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
$username = "DUTASSQLAdminP@does.dcgov.priv"
|
||||||
|
$password = "4ho@3Pr&Xof8" | ConvertTo-SecureString -AsPlainText -Force
|
||||||
|
$credential = New-Object System.Management.Automation.PSCredential($username, $password)
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Execute job remotely using the extracted JCL
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
Write-Host "Connecting to remote server $ComputerName ..."
|
||||||
|
$exitCode = Invoke-Command -ComputerName $ComputerName `
|
||||||
|
-Credential $credential `
|
||||||
|
-Authentication CredSSP `
|
||||||
|
-SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck) `
|
||||||
|
-ArgumentList $JobName, $JCL, $Env `
|
||||||
|
-ScriptBlock {
|
||||||
|
param($JobName, $JCL, $Env)
|
||||||
|
|
||||||
|
Write-Host "Remote execution - JobName: $JobName, JCL: $JCL, Env: $Env"
|
||||||
|
|
||||||
|
$process = Start-Process -FilePath "powershell.exe" `
|
||||||
|
-ArgumentList "-ExecutionPolicy Bypass -File `"E:\PSScript\RCSubmit-Job.ps1`" -JobName `"$JCL`" -Env `"$Env`"" `
|
||||||
|
-NoNewWindow -Wait -PassThru
|
||||||
|
return $process.ExitCode
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($exitCode -eq 0) {
|
||||||
|
Write-Host "Job $JobName (JCL: $JCL) completed successfully at $(Get-Date)" -ForegroundColor Green
|
||||||
|
} else {
|
||||||
|
Write-Error "Job $JobName (JCL: $JCL) failed with exit code: $exitCode"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Error "Job $JobName failed with error: $($_.Exception.Message)"
|
||||||
|
$exitCode = 1
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Log exit code to the appropriate database
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
try {
|
||||||
|
$connectionString = "Server=localhost;Database=$DatabaseName;Trusted_Connection=true;"
|
||||||
|
$connection = New-Object System.Data.SqlClient.SqlConnection($connectionString)
|
||||||
|
$connection.Open()
|
||||||
|
|
||||||
|
$command = $connection.CreateCommand()
|
||||||
|
$command.CommandText = @"
|
||||||
|
INSERT INTO dbo.JobExitCodes (JobName, RunDate, ExitCode, RecordedTime)
|
||||||
|
VALUES ('$JobName', CAST(GETDATE() AS DATE), $exitCode, GETDATE());
|
||||||
|
"@
|
||||||
|
$command.ExecuteNonQuery()
|
||||||
|
$connection.Close()
|
||||||
|
Write-Host "Exit code $exitCode logged to database $DatabaseName for job $JobName"
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
$errorMsg = $_.Exception.Message
|
||||||
|
Write-Host "Failed to log exit code to database $DatabaseName`: $errorMsg"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exit $exitCode
|
||||||
108
SQLAgent/01_Devl/4_PowerShell_Scripts/RCSubmit-Job.ps1
Normal file
108
SQLAgent/01_Devl/4_PowerShell_Scripts/RCSubmit-Job.ps1
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
param(
|
||||||
|
[string]$JobName,
|
||||||
|
[string]$Env
|
||||||
|
)
|
||||||
|
|
||||||
|
# --- Parameter Validation ---
|
||||||
|
if (-not $JobName) {
|
||||||
|
Write-Host "JobName parameter is required" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
if (-not $Env) {
|
||||||
|
Write-Host "Environment (Env) parameter is required" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Execute Job ---
|
||||||
|
Write-Host "Submitting job: $JobName in environment: $Env" -ForegroundColor Cyan
|
||||||
|
$output = & "$env:rcbin\submit.exe" -DSN="DOESTAX.$Env.JOBS.BATCH.LIB($JobName)"
|
||||||
|
$exitCode = [int]$LASTEXITCODE
|
||||||
|
$isSuccess = 0
|
||||||
|
|
||||||
|
# --- Parse SYSLOG Path ---
|
||||||
|
$syslogPath = $null
|
||||||
|
$syslogFolder = "Not found"
|
||||||
|
$content = @()
|
||||||
|
$summary = @()
|
||||||
|
|
||||||
|
try {
|
||||||
|
$syslogPath = $output | Select-String -Pattern "SYSLOG=\[(.*)\]" | ForEach-Object { $_.Matches.Groups[1].Value }
|
||||||
|
|
||||||
|
if ($syslogPath -and (Test-Path $syslogPath)) {
|
||||||
|
$syslogFolder = Split-Path $syslogPath -Parent
|
||||||
|
$content = Get-Content $syslogPath -ErrorAction Stop
|
||||||
|
$summary = $content | Select-String -Pattern "%Job Overall Stats:" -Context 0,7 | ForEach-Object {
|
||||||
|
$_.Context.PostContext | Select-Object -Skip 1 -First 5
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Write-Host "SYSLOG path not found or inaccessible: $syslogPath" -ForegroundColor Yellow
|
||||||
|
$summary = @("SYSLOG file not found in output", "Raw output:", $output -join "`n")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host "Error processing SYSLOG: $($_.Exception.Message)" -ForegroundColor Yellow
|
||||||
|
$summary = @("Error reading SYSLOG: $($_.Exception.Message)", "Raw output:", $output -join "`n")
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Evaluate Return Codes ---
|
||||||
|
$successConditions = @(
|
||||||
|
{ $JobName -eq "GSIRQ300" -and $exitCode -eq 50 },
|
||||||
|
{ $JobName -eq "DTSGWAGE" -and $exitCode -eq 8 },
|
||||||
|
{ $JobName -eq "DTSGCHKS" -and $exitCode -eq 8 },
|
||||||
|
{ $JobName -eq "DTSGPAYT" -and $exitCode -eq 8 },
|
||||||
|
{ $JobName -eq "DTSBXACH" -and $exitCode -eq 2 },
|
||||||
|
{ $JobName -eq "DTSBXREL" -and $exitCode -eq 2 },
|
||||||
|
{ $JobName -eq "DTSMIN02" -and $exitCode -eq 4 },
|
||||||
|
{ $JobName -eq "DTSBE405" -and $exitCode -eq 910 },
|
||||||
|
{ $JobName -eq "DTSBXREJ" -and $exitCode -eq 4 },
|
||||||
|
{ $JobName -eq "DTSRQ444" -and $exitCode -eq 4 },
|
||||||
|
{ $exitCode -eq 0 }
|
||||||
|
)
|
||||||
|
|
||||||
|
if ($successConditions | Where-Object { & $_ }) {
|
||||||
|
Write-Host "Job $JobName succeeded with code $exitCode" -ForegroundColor Green
|
||||||
|
$isSuccess = 0
|
||||||
|
} else {
|
||||||
|
Write-Host "Job $JobName failed with code $exitCode" -ForegroundColor Red
|
||||||
|
$isSuccess = 1
|
||||||
|
# Only use error if we don't have a proper summary
|
||||||
|
if ($summary.Count -eq 0) {
|
||||||
|
$summary = @($Error[0])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Email Notification ---
|
||||||
|
$smtpServer = "smtp4.dc.gov"
|
||||||
|
$fromEmail = "Dutas@dc.gov"
|
||||||
|
$toEmail = "neerajk@innovaconsulting.com"
|
||||||
|
$ccEmail = @("neerajk@innovaconsulting.com")
|
||||||
|
|
||||||
|
$emailBody = @"
|
||||||
|
<pre style='font-family: Courier, monospace;'>
|
||||||
|
DUTAS Batch Job: $JobName Execution Report
|
||||||
|
==========================================
|
||||||
|
$($summary -join "`n")
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
Return Code: $exitCode
|
||||||
|
Status: $(if ($isSuccess -eq 0) { "SUCCESS" } else { "FAILED" })
|
||||||
|
JOBLOG Path: $syslogFolder
|
||||||
|
</pre>
|
||||||
|
"@
|
||||||
|
|
||||||
|
try {
|
||||||
|
Send-MailMessage -SmtpServer $smtpServer -Port 25 `
|
||||||
|
-From $fromEmail -To $toEmail -Cc $ccEmail `
|
||||||
|
-Subject "DUTAS-[$Env] Job Status: $JobName - $(if ($isSuccess -eq 0) { 'SUCCESS' } else { 'FAILED' })" `
|
||||||
|
-Body $emailBody -BodyAsHtml
|
||||||
|
Write-Host "Email sent successfully to $toEmail" -ForegroundColor Cyan
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host "Failed to send email: $($_.Exception.Message)" -ForegroundColor Yellow
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "`n---------------------------------------------"
|
||||||
|
Write-Host "Job: $JobName | ExitCode: $exitCode | Status: $(if ($isSuccess -eq 0) { 'SUCCESS' } else { 'FAILED' })"
|
||||||
|
Write-Host "---------------------------------------------`n"
|
||||||
|
|
||||||
|
exit $isSuccess
|
||||||
15
SQLAgent/01_Devl/5_Deployment/Deploy_DEVL_to_TEST.sql
Normal file
15
SQLAgent/01_Devl/5_Deployment/Deploy_DEVL_to_TEST.sql
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
DECLARE @SrcDB NVARCHAR(128) = 'DevlDUTASJobSchedule';
|
||||||
|
DECLARE @NewDB NVARCHAR(128) = 'TestDUTASJobSchedule';
|
||||||
|
DECLARE @Backup NVARCHAR(260) = '\\DOES-RAINVM-DEV\E$\Neeraj\SqlAgent\Backup\' + @SrcDB + '.bak';
|
||||||
|
|
||||||
|
-- Backup Source
|
||||||
|
BACKUP DATABASE @SrcDB TO DISK = @Backup WITH INIT, COMPRESSION;
|
||||||
|
|
||||||
|
-- Restore as Target
|
||||||
|
DECLARE @SQL NVARCHAR(MAX) = '
|
||||||
|
RESTORE DATABASE [' + @NewDB + ']
|
||||||
|
FROM DISK = N''' + @Backup + '''
|
||||||
|
WITH MOVE N''' + @SrcDB + ''' TO N''\\DOES-RAINVM-DEV\E$\SQLData\' + @NewDB + '.mdf'',
|
||||||
|
MOVE N''' + @SrcDB + '_log'' TO N''\\DOES-RAINVM-DEV\E$\SQLLogs\' + @NewDB + '_log.ldf'',
|
||||||
|
REPLACE;';
|
||||||
|
EXEC(@SQL);
|
||||||
15
SQLAgent/01_Devl/5_Deployment/Deploy_TEST_to_PROD.sql
Normal file
15
SQLAgent/01_Devl/5_Deployment/Deploy_TEST_to_PROD.sql
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
DECLARE @SrcDB NVARCHAR(128) = 'TestDUTASJobSchedule';
|
||||||
|
DECLARE @NewDB NVARCHAR(128) = 'ProdDUTASJobSchedule';
|
||||||
|
DECLARE @Backup NVARCHAR(260) = '\\DOES-RAINVM-DEV\E$\Neeraj\SqlAgent\Backup\' + @SrcDB + '.bak';
|
||||||
|
|
||||||
|
-- Backup Source
|
||||||
|
BACKUP DATABASE @SrcDB TO DISK = @Backup WITH INIT, COMPRESSION;
|
||||||
|
|
||||||
|
-- Restore as Target
|
||||||
|
DECLARE @SQL NVARCHAR(MAX) = '
|
||||||
|
RESTORE DATABASE [' + @NewDB + ']
|
||||||
|
FROM DISK = N''' + @Backup + '''
|
||||||
|
WITH MOVE N''' + @SrcDB + ''' TO N''\\DOES-RAINVM-DEV\E$\SQLData\' + @NewDB + '.mdf'',
|
||||||
|
MOVE N''' + @SrcDB + '_log'' TO N''\\DOES-RAINVM-DEV\E$\SQLLogs\' + @NewDB + '_log.ldf'',
|
||||||
|
REPLACE;';
|
||||||
|
EXEC(@SQL);
|
||||||
63
SQLAgent/02_Test/1_Database_Setup/CreateDB.sql
Normal file
63
SQLAgent/02_Test/1_Database_Setup/CreateDB.sql
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
-- Create the database
|
||||||
|
CREATE DATABASE TestDUTASJobSchedule;
|
||||||
|
GO
|
||||||
|
|
||||||
|
USE TestDUTASJobSchedule;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create the main control table
|
||||||
|
CREATE TABLE dbo.JobControl (
|
||||||
|
JobID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
JobName VARCHAR(50) NOT NULL UNIQUE,
|
||||||
|
ScheduledStartTime TIME NOT NULL,
|
||||||
|
SchedulerAction VARCHAR(10) NOT NULL CHECK (SchedulerAction IN ('CONTINUE', 'STOP')),
|
||||||
|
IsActive BIT DEFAULT 1,
|
||||||
|
CreatedDate DATETIME DEFAULT GETDATE(),
|
||||||
|
Frequency VARCHAR(20) NOT NULL
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create job dependencies table
|
||||||
|
CREATE TABLE dbo.JobDependencies (
|
||||||
|
DependencyID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
JobName VARCHAR(50) NOT NULL,
|
||||||
|
PredecessorJobName VARCHAR(50) NULL,
|
||||||
|
FOREIGN KEY (JobName) REFERENCES dbo.JobControl(JobName)
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create execution history table
|
||||||
|
CREATE TABLE dbo.JobExecutionHistory (
|
||||||
|
ExecutionID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
JobName VARCHAR(50) NOT NULL,
|
||||||
|
RunDate DATE NOT NULL,
|
||||||
|
ScheduledStartTime TIME NOT NULL,
|
||||||
|
ActualStartTime DATETIME NULL,
|
||||||
|
ActualEndTime DATETIME NULL,
|
||||||
|
Status VARCHAR(20) DEFAULT 'Pending' CHECK (Status IN ('Pending', 'Running', 'Success', 'Failed', 'ForceComplete')),
|
||||||
|
ErrorMessage VARCHAR(MAX) NULL,
|
||||||
|
OverrideFlag BIT DEFAULT 0,
|
||||||
|
OverrideBy VARCHAR(100) NULL,
|
||||||
|
OverrideDate DATETIME NULL
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create holidays table
|
||||||
|
CREATE TABLE dbo.FederalHolidays (
|
||||||
|
HolidayID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
HolidayDate DATE NOT NULL UNIQUE,
|
||||||
|
HolidayName VARCHAR(100) NOT NULL,
|
||||||
|
Year INT NOT NULL
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create Exit Code table for PowerShell Script
|
||||||
|
CREATE TABLE dbo.JobExitCodes
|
||||||
|
(
|
||||||
|
JobExecutionID INT IDENTITY(1,1) PRIMARY KEY, -- unique ID per execution
|
||||||
|
JobName NVARCHAR(128) NOT NULL, -- job name
|
||||||
|
RunDate DATE NOT NULL, -- date of execution
|
||||||
|
ExitCode INT NOT NULL, -- exit code from job
|
||||||
|
RecordedTime DATETIME NOT NULL DEFAULT GETDATE() -- timestamp of execution
|
||||||
|
);
|
||||||
|
GO
|
||||||
34
SQLAgent/02_Test/1_Database_Setup/InsertHolidays.sql
Normal file
34
SQLAgent/02_Test/1_Database_Setup/InsertHolidays.sql
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
USE TestDUTASJobSchedule;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Clear existing data and insert 2025-2026 holidays (ignoring 0000000000 dates)
|
||||||
|
INSERT INTO dbo.FederalHolidays (HolidayDate, HolidayName, Year) VALUES
|
||||||
|
-- 2025 Holidays
|
||||||
|
('2025-01-01', 'New Years Day', 2025),
|
||||||
|
('2025-01-20', 'Martin Luther King Day', 2025),
|
||||||
|
('2025-02-17', 'Presidents Day', 2025),
|
||||||
|
('2025-05-26', 'Memorial Day', 2025),
|
||||||
|
('2025-06-19', 'Juneteenth Day', 2025),
|
||||||
|
('2025-07-04', 'Independence Day', 2025),
|
||||||
|
('2025-09-01', 'Labor Day', 2025),
|
||||||
|
('2025-10-13', 'Columbus Day', 2025),
|
||||||
|
('2025-11-11', 'Veterans Day', 2025),
|
||||||
|
('2025-11-27', 'Thanksgiving Day', 2025),
|
||||||
|
('2025-12-25', 'Christmas Day', 2025),
|
||||||
|
|
||||||
|
-- 2026 Holidays
|
||||||
|
('2026-01-01', 'New Years Day', 2026),
|
||||||
|
('2026-01-19', 'Martin Luther King Day', 2026),
|
||||||
|
('2026-02-16', 'Presidents Day', 2026),
|
||||||
|
('2026-05-25', 'Memorial Day', 2026),
|
||||||
|
('2026-06-19', 'Juneteenth Day', 2026),
|
||||||
|
('2026-07-03', 'Independence Day', 2026), -- Note: July 3rd observed since July 4th is Saturday
|
||||||
|
('2026-09-07', 'Labor Day', 2026),
|
||||||
|
('2026-10-12', 'Columbus Day', 2026),
|
||||||
|
('2026-11-11', 'Veterans Day', 2026),
|
||||||
|
('2026-11-26', 'Thanksgiving Day', 2026),
|
||||||
|
('2026-12-25', 'Christmas Day', 2026);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Verify the data
|
||||||
|
SELECT * FROM dbo.FederalHolidays ORDER BY HolidayDate;
|
||||||
79
SQLAgent/02_Test/1_Database_Setup/InsertJobControl.sql
Normal file
79
SQLAgent/02_Test/1_Database_Setup/InsertJobControl.sql
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
USE [TestDUTASJobSchedule]
|
||||||
|
GO
|
||||||
|
|
||||||
|
INSERT INTO [dbo].[JobControl] (
|
||||||
|
[JobName],
|
||||||
|
[ScheduledStartTime],
|
||||||
|
[SchedulerAction],
|
||||||
|
[IsActive],
|
||||||
|
[CreatedDate],
|
||||||
|
[Frequency]
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
('TEST_DAILY_DTSBX215', '4:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX305', '4:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSGSID0', '6:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_GSIRQ300', '6:05:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSRQ202', '6:10:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSGSID1', '6:15:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX202', '7:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSFT202', '8:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX432', '8:30:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSGACHD', '9:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX303', '10:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSGWAGE', '14:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSGCHKS', '14:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSESDAY', '14:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSGPAYT', '14:10:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSDX145', '16:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX629', '16:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX630', '16:30:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSFRAUD', '16:30:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSRACHD', '17:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBXACH', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBXREG', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX430', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX626', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX530', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBXREL', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX450', '17:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX451', '17:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSPACHD', '18:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSPX148', '18:05:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSRQ325', '18:05:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX427', '18:07:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSPDAY1', '18:10:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSW4WGE', '18:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSGSID2', '18:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSGSID9', '18:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSMIN01', '18:20:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSMIN02', '18:20:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSRQ459', '19:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBXPFL', '19:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DESBD427', '19:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX403', '20:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBE405', '20:15:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX405', '20:15:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSRQ335', '21:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_DAILY_DTSBX601', '21:25:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('TEST_WEEKLY_DTSGSID0', '6:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('TEST_WEEKLY_DTSGSID1', '6:15:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('TEST_WEEKLY_DTSBX202', '7:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('TEST_WEEKLY_DTSFT202', '8:00:00', 'STOP', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('TEST_WEEKLY_DTSBX470', '7:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('TEST_WEEKLY_DTSBXREJ', '17:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('TEST_WEEKLY_DTSPDAY7', '19:10:00', 'STOP', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('TEST_WEEKLY_DTSBX122', '19:14:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('TEST_WEEKLY_DTSRQ511', '19:14:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('TEST_WEEKLY_DTSRQ444', '7:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('TEST_WEEKLY_DTSRQ126', '9:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('TEST_MONTHLY_DTSRQ414', '18:15:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('TEST_MONTHLY_DTSPMON1', '19:15:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('TEST_MONTHLY_DTSCHGVB', '19:26:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('TEST_MONTHLY_DTSCHGVR', '19:27:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('TEST_MONTHLY_DTSVBKUP', '19:26:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('TEST_MONTHLY_DTSVRSTR', '19:30:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('TEST_MONTHLY_DTSRQ442', '19:37:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('TEST_MONTHLY_DTSBX460', '19:35:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('TEST_MONTHLY_DTSRQ513', '19:37:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('TEST_MONTHLY_DTSCHGDC', '13:00:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY');
|
||||||
75
SQLAgent/02_Test/1_Database_Setup/InsertJobDependencies.sql
Normal file
75
SQLAgent/02_Test/1_Database_Setup/InsertJobDependencies.sql
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
USE [TestDUTASJobSchedule]
|
||||||
|
GO
|
||||||
|
|
||||||
|
INSERT INTO [dbo].[JobDependencies] (
|
||||||
|
[JobName],
|
||||||
|
[PredecessorJobName]
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
('TEST_DAILY_DTSGSID0','TEST_DAILY_DTSBX305'),
|
||||||
|
('TEST_DAILY_GSIRQ300','TEST_DAILY_DTSBX305'),
|
||||||
|
('TEST_DAILY_DTSRQ202','TEST_DAILY_GSIRQ300'),
|
||||||
|
('TEST_DAILY_DTSGSID1','TEST_DAILY_GSIRQ300'),
|
||||||
|
('TEST_DAILY_DTSBX202','TEST_DAILY_GSIRQ300'),
|
||||||
|
('TEST_DAILY_DTSFT202','TEST_DAILY_GSIRQ300'),
|
||||||
|
('TEST_DAILY_DTSBX432','TEST_DAILY_GSIRQ300'),
|
||||||
|
('TEST_DAILY_DTSGACHD','TEST_DAILY_GSIRQ300'),
|
||||||
|
('TEST_DAILY_DTSBX303','TEST_DAILY_GSIRQ300'),
|
||||||
|
('TEST_DAILY_DTSGWAGE','TEST_DAILY_GSIRQ300'),
|
||||||
|
('TEST_DAILY_DTSGCHKS','TEST_DAILY_DTSGWAGE'),
|
||||||
|
('TEST_DAILY_DTSESDAY','TEST_DAILY_DTSGCHKS'),
|
||||||
|
('TEST_DAILY_DTSGPAYT','TEST_DAILY_DTSESDAY'),
|
||||||
|
('TEST_DAILY_DTSDX145','TEST_DAILY_DTSGPAYT'),
|
||||||
|
('TEST_DAILY_DTSBX629','TEST_DAILY_GSIRQ300'),
|
||||||
|
('TEST_DAILY_DTSBX630','TEST_DAILY_DTSBX629'),
|
||||||
|
('TEST_DAILY_DTSFRAUD','TEST_DAILY_DTSBX630'),
|
||||||
|
('TEST_DAILY_DTSRACHD','TEST_DAILY_DTSFRAUD'),
|
||||||
|
('TEST_DAILY_DTSBXACH','TEST_DAILY_DTSFRAUD'),
|
||||||
|
('TEST_DAILY_DTSBXREG','TEST_DAILY_DTSFRAUD'),
|
||||||
|
('TEST_DAILY_DTSBX430','TEST_DAILY_DTSFRAUD'),
|
||||||
|
('TEST_DAILY_DTSBX626','TEST_DAILY_DTSFRAUD'),
|
||||||
|
('TEST_DAILY_DTSBX530','TEST_DAILY_DTSFRAUD'),
|
||||||
|
('TEST_DAILY_DTSBXREL','TEST_DAILY_DTSFRAUD'),
|
||||||
|
('TEST_DAILY_DTSBX450','TEST_DAILY_DTSBXACH'),
|
||||||
|
('TEST_DAILY_DTSBX450','TEST_DAILY_DTSBXREG'),
|
||||||
|
('TEST_DAILY_DTSBX450','TEST_DAILY_DTSBX430'),
|
||||||
|
('TEST_DAILY_DTSBX450','TEST_DAILY_DTSBX626'),
|
||||||
|
('TEST_DAILY_DTSBX450','TEST_DAILY_DTSBX530'),
|
||||||
|
('TEST_DAILY_DTSBX450','TEST_DAILY_DTSBXREL'),
|
||||||
|
('TEST_DAILY_DTSBX451','TEST_DAILY_DTSBXACH'),
|
||||||
|
('TEST_DAILY_DTSBX451','TEST_DAILY_DTSBXREG'),
|
||||||
|
('TEST_DAILY_DTSBX451','TEST_DAILY_DTSBX430'),
|
||||||
|
('TEST_DAILY_DTSBX451','TEST_DAILY_DTSBX626'),
|
||||||
|
('TEST_DAILY_DTSBX451','TEST_DAILY_DTSBX530'),
|
||||||
|
('TEST_DAILY_DTSBX451','TEST_DAILY_DTSBXREL'),
|
||||||
|
('TEST_DAILY_DTSPACHD','TEST_DAILY_DTSBX451'),
|
||||||
|
('TEST_DAILY_DTSPX148','TEST_DAILY_DTSPACHD'),
|
||||||
|
('TEST_DAILY_DTSRQ325','TEST_DAILY_DTSPX148'),
|
||||||
|
('TEST_DAILY_DTSBX427','TEST_DAILY_DTSRQ325'),
|
||||||
|
('TEST_DAILY_DTSPDAY1','TEST_DAILY_DTSBX427'),
|
||||||
|
('TEST_DAILY_DTSW4WGE','TEST_DAILY_DTSPDAY1'),
|
||||||
|
('TEST_DAILY_DTSGSID2','TEST_DAILY_DTSPDAY1'),
|
||||||
|
('TEST_DAILY_DTSGSID9','TEST_DAILY_DTSPDAY1'),
|
||||||
|
('TEST_DAILY_DTSMIN01','TEST_DAILY_DTSW4WGE'),
|
||||||
|
('TEST_DAILY_DTSMIN01','TEST_DAILY_DTSGSID2'),
|
||||||
|
('TEST_DAILY_DTSMIN01','TEST_DAILY_DTSGSID9'),
|
||||||
|
('TEST_DAILY_DTSMIN02','TEST_DAILY_DTSW4WGE'),
|
||||||
|
('TEST_DAILY_DTSMIN02','TEST_DAILY_DTSGSID2'),
|
||||||
|
('TEST_DAILY_DTSMIN02','TEST_DAILY_DTSGSID9'),
|
||||||
|
('TEST_DAILY_DTSRQ459','TEST_DAILY_DTSMIN02'),
|
||||||
|
('TEST_DAILY_DTSBXPFL','TEST_DAILY_DTSRQ459'),
|
||||||
|
('TEST_DAILY_DESBD427','TEST_DAILY_DTSBXPFL'),
|
||||||
|
('TEST_DAILY_DTSBX403','TEST_DAILY_DTSBXPFL'),
|
||||||
|
('TEST_DAILY_DTSBE405','TEST_DAILY_DTSBXPFL'),
|
||||||
|
('TEST_DAILY_DTSBX405','TEST_DAILY_DTSBXPFL'),
|
||||||
|
('TEST_DAILY_DTSRQ335','TEST_DAILY_DTSBXPFL'),
|
||||||
|
('TEST_DAILY_DTSBX601','TEST_DAILY_DTSRQ335'),
|
||||||
|
('TEST_WEEKLY_DTSBXREJ','TEST_DAILY_DTSBXREL'),
|
||||||
|
('TEST_WEEKLY_DTSBX122','TEST_WEEKLY_DTSPDAY7'),
|
||||||
|
('TEST_WEEKLY_DTSRQ511','TEST_WEEKLY_DTSPDAY7'),
|
||||||
|
('TEST_MONTHLY_DTSRQ414','TEST_DAILY_DTSPDAY1'),
|
||||||
|
('TEST_MONTHLY_DTSCHGVB','TEST_MONTHLY_DTSPMON1'),
|
||||||
|
('TEST_MONTHLY_DTSCHGVR','TEST_MONTHLY_DTSCHGVB'),
|
||||||
|
('TEST_MONTHLY_DTSVBKUP','TEST_MONTHLY_DTSPMON1'),
|
||||||
|
('TEST_MONTHLY_DTSVRSTR','TEST_MONTHLY_DTSVBKUP'),
|
||||||
|
('TEST_MONTHLY_DTSRQ442','TEST_MONTHLY_DTSRQ513');
|
||||||
BIN
SQLAgent/02_Test/2_Stored_Procedures/usp_CheckJobConditions.sql
Normal file
BIN
SQLAgent/02_Test/2_Stored_Procedures/usp_CheckJobConditions.sql
Normal file
Binary file not shown.
Binary file not shown.
BIN
SQLAgent/02_Test/2_Stored_Procedures/usp_CreateSQLAgentJob.sql
Normal file
BIN
SQLAgent/02_Test/2_Stored_Procedures/usp_CreateSQLAgentJob.sql
Normal file
Binary file not shown.
BIN
SQLAgent/02_Test/2_Stored_Procedures/usp_ForceComplete.sql
Normal file
BIN
SQLAgent/02_Test/2_Stored_Procedures/usp_ForceComplete.sql
Normal file
Binary file not shown.
BIN
SQLAgent/02_Test/2_Stored_Procedures/usp_ScheduleMonthlyJob.sql
Normal file
BIN
SQLAgent/02_Test/2_Stored_Procedures/usp_ScheduleMonthlyJob.sql
Normal file
Binary file not shown.
BIN
SQLAgent/02_Test/2_Stored_Procedures/usp_TriggerMissedJobs.sql
Normal file
BIN
SQLAgent/02_Test/2_Stored_Procedures/usp_TriggerMissedJobs.sql
Normal file
Binary file not shown.
Binary file not shown.
65
SQLAgent/02_Test/3_Job_Maintenance/ActivateMonthlyJob.sql
Normal file
65
SQLAgent/02_Test/3_Job_Maintenance/ActivateMonthlyJob.sql
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
USE msdb;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Schedule TEST Monthly Jobs for October 2025
|
||||||
|
------------------------------------------------
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='TEST_MONTHLY_DTSRQ414',
|
||||||
|
@Env='TEST',
|
||||||
|
@RunDate='2025-11-03',
|
||||||
|
@RunTime='18:15:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='TEST_MONTHLY_DTSPMON1',
|
||||||
|
@Env='TEST',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:15:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='TEST_MONTHLY_DTSCHGVB',
|
||||||
|
@Env='TEST',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:26:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='TEST_MONTHLY_DTSCHGVR',
|
||||||
|
@Env='TEST',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:27:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='TEST_MONTHLY_DTSVBKUP',
|
||||||
|
@Env='TEST',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:26:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='TEST_MONTHLY_DTSVRSTR',
|
||||||
|
@Env='TEST',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:30:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='TEST_MONTHLY_DTSRQ442',
|
||||||
|
@Env='TEST',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:37:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='TEST_MONTHLY_DTSBX460',
|
||||||
|
@Env='TEST',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:35:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='TEST_MONTHLY_DTSRQ513',
|
||||||
|
@Env='TEST',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:37:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='TEST_MONTHLY_DTSCHGDC',
|
||||||
|
@Env='TEST',
|
||||||
|
@RunDate='2025-11-03',
|
||||||
|
@RunTime='13:00:00';
|
||||||
|
GO
|
||||||
279
SQLAgent/02_Test/3_Job_Maintenance/AddDailyJobs.sql
Normal file
279
SQLAgent/02_Test/3_Job_Maintenance/AddDailyJobs.sql
Normal file
@ -0,0 +1,279 @@
|
|||||||
|
USE [msdb]
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Execute the stored procedure for each job
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX215',
|
||||||
|
@StartTimeHHMMSS = 40000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX305',
|
||||||
|
@StartTimeHHMMSS = 40000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSGSID0',
|
||||||
|
@StartTimeHHMMSS = 60000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_GSIRQ300',
|
||||||
|
@StartTimeHHMMSS = 60500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSRQ202',
|
||||||
|
@StartTimeHHMMSS = 61000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSGSID1',
|
||||||
|
@StartTimeHHMMSS = 61500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX202',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSFT202',
|
||||||
|
@StartTimeHHMMSS = 80000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX432',
|
||||||
|
@StartTimeHHMMSS = 83000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSGACHD',
|
||||||
|
@StartTimeHHMMSS = 90000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX303',
|
||||||
|
@StartTimeHHMMSS = 100000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSGWAGE',
|
||||||
|
@StartTimeHHMMSS = 140000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSGCHKS',
|
||||||
|
@StartTimeHHMMSS = 140500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSESDAY',
|
||||||
|
@StartTimeHHMMSS = 140500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSGPAYT',
|
||||||
|
@StartTimeHHMMSS = 141000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSDX145',
|
||||||
|
@StartTimeHHMMSS = 160500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX629',
|
||||||
|
@StartTimeHHMMSS = 161500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX630',
|
||||||
|
@StartTimeHHMMSS = 163000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSFRAUD',
|
||||||
|
@StartTimeHHMMSS = 163000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSRACHD',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBXACH',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBXREG',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX430',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX626',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX530',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBXREL',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX450',
|
||||||
|
@StartTimeHHMMSS = 171500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX451',
|
||||||
|
@StartTimeHHMMSS = 171500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSPACHD',
|
||||||
|
@StartTimeHHMMSS = 180000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSPX148',
|
||||||
|
@StartTimeHHMMSS = 180500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSRQ325',
|
||||||
|
@StartTimeHHMMSS = 180500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX427',
|
||||||
|
@StartTimeHHMMSS = 180700,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSPDAY1',
|
||||||
|
@StartTimeHHMMSS = 181000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSW4WGE',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSGSID2',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSGSID9',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSMIN01',
|
||||||
|
@StartTimeHHMMSS = 182000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSMIN02',
|
||||||
|
@StartTimeHHMMSS = 182000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSRQ459',
|
||||||
|
@StartTimeHHMMSS = 190000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBXPFL',
|
||||||
|
@StartTimeHHMMSS = 190000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DESBD427',
|
||||||
|
@StartTimeHHMMSS = 190500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX403',
|
||||||
|
@StartTimeHHMMSS = 200000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBE405',
|
||||||
|
@StartTimeHHMMSS = 201500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX405',
|
||||||
|
@StartTimeHHMMSS = 201500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSRQ335',
|
||||||
|
@StartTimeHHMMSS = 210000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX601',
|
||||||
|
@StartTimeHHMMSS = 212500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
76
SQLAgent/02_Test/3_Job_Maintenance/AddMonthlyJobs.sql
Normal file
76
SQLAgent/02_Test/3_Job_Maintenance/AddMonthlyJobs.sql
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
USE [msdb];
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Note: Frequency here is used only for description (used for category): MONTHLY
|
||||||
|
-- By Default Job will be scheduled Mon to Fri at specified time. Please change the schedules as per the requirement.
|
||||||
|
|
||||||
|
-- 1.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_MONTHLY_DTSRQ414',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 2.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_MONTHLY_DTSPMON1',
|
||||||
|
@StartTimeHHMMSS = 191500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 3.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_MONTHLY_DTSCHGVB',
|
||||||
|
@StartTimeHHMMSS = 192600,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 4.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_MONTHLY_DTSCHGVR',
|
||||||
|
@StartTimeHHMMSS = 192700,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 5.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_MONTHLY_DTSVBKUP',
|
||||||
|
@StartTimeHHMMSS = 192600,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 6.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_MONTHLY_DTSVRSTR',
|
||||||
|
@StartTimeHHMMSS = 193000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 7.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_MONTHLY_DTSRQ442',
|
||||||
|
@StartTimeHHMMSS = 193700,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 8.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_MONTHLY_DTSBX460',
|
||||||
|
@StartTimeHHMMSS = 193500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 9.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_MONTHLY_DTSRQ513',
|
||||||
|
@StartTimeHHMMSS = 193700,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 10.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_MONTHLY_DTSCHGDC',
|
||||||
|
@StartTimeHHMMSS = 130000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
GO
|
||||||
9
SQLAgent/02_Test/3_Job_Maintenance/AddOneJob.sql
Normal file
9
SQLAgent/02_Test/3_Job_Maintenance/AddOneJob.sql
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
USE [msdb]
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create a job that runs Monday-Friday at 4:00 AM
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_DAILY_DTSBX215',
|
||||||
|
@StartTimeHHMMSS = 40000, -- For 4:00:00 AM (143000 for 2:30:00 PM)
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
81
SQLAgent/02_Test/3_Job_Maintenance/AddWeeklyJobs.sql
Normal file
81
SQLAgent/02_Test/3_Job_Maintenance/AddWeeklyJobs.sql
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
USE [msdb]
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Note: Frequency here is used only for description (used for category): DAILY, WEEKLY, etc.
|
||||||
|
-- By Default Job will be scheduled to run on Mon to Fri at specified time. Please change the schedules as per the requirement.
|
||||||
|
-- 1.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_WEEKLY_DTSGSID0',
|
||||||
|
@StartTimeHHMMSS = 60000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 2.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_WEEKLY_DTSGSID1',
|
||||||
|
@StartTimeHHMMSS = 61500,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 3.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_WEEKLY_DTSBX202',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 4.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_WEEKLY_DTSFT202',
|
||||||
|
@StartTimeHHMMSS = 80000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 5.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_WEEKLY_DTSBX470',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 6.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_WEEKLY_DTSBXREJ',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 7.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_WEEKLY_DTSPDAY7',
|
||||||
|
@StartTimeHHMMSS = 191000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 8.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_WEEKLY_DTSBX122',
|
||||||
|
@StartTimeHHMMSS = 191400,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 9.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_WEEKLY_DTSRQ511',
|
||||||
|
@StartTimeHHMMSS = 191400,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 10.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_WEEKLY_DTSRQ444',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 11.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'TEST_WEEKLY_DTSRQ126',
|
||||||
|
@StartTimeHHMMSS = 90000,
|
||||||
|
@Env = 'TEST',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
@ -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 = 'TEST'; -- Change for DEVL 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/02_Test/3_Job_Maintenance/DeactivateMonthlyJob.sql
Normal file
12
SQLAgent/02_Test/3_Job_Maintenance/DeactivateMonthlyJob.sql
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
USE TestDUTASJobSchedule;
|
||||||
|
GO
|
||||||
|
|
||||||
|
UPDATE dbo.JobControl
|
||||||
|
SET IsActive = 0
|
||||||
|
WHERE Frequency = 'MONTHLY';
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Optional: Verify changes
|
||||||
|
SELECT JobName, Frequency, IsActive
|
||||||
|
FROM dbo.JobControl
|
||||||
|
WHERE Frequency = 'MONTHLY';
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
-- If you know both the job name and schedule name
|
||||||
|
DECLARE @JobName NVARCHAR(100) = 'TEST_MONTHLY_DTSCHGDC';
|
||||||
|
DECLARE @ScheduleName NVARCHAR(200) = 'TEST_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;
|
||||||
16
SQLAgent/02_Test/3_Job_Maintenance/ForceCompleteJob.sql
Normal file
16
SQLAgent/02_Test/3_Job_Maintenance/ForceCompleteJob.sql
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
USE TestDUTASJobSchedule;
|
||||||
|
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);
|
||||||
47
SQLAgent/02_Test/3_Job_Maintenance/JobInfo.sql
Normal file
47
SQLAgent/02_Test/3_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 TestDUTASJobSchedule.dbo.JobControl
|
||||||
|
WHERE IsActive = 1
|
||||||
|
ORDER BY Frequency, ScheduledStartTime;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- View all inactive jobs
|
||||||
|
SELECT JobName, Frequency, ScheduledStartTime
|
||||||
|
FROM TestDUTASJobSchedule.dbo.JobControl
|
||||||
|
WHERE IsActive = 0
|
||||||
|
ORDER BY Frequency;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Find weekly/monthly jobs
|
||||||
|
SELECT JobName, Frequency, ScheduledStartTime
|
||||||
|
FROM TestDUTASJobSchedule.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) = 'TEST_MONTHLY_DTSCHGVR';
|
||||||
|
SELECT JobName, PredecessorJobName
|
||||||
|
FROM TestDUTASJobSchedule.dbo.JobDependencies
|
||||||
|
WHERE JobName = @Job;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Show dependency chain overview
|
||||||
|
SELECT d.JobName, d.PredecessorJobName, jc.ScheduledStartTime, jc.Frequency
|
||||||
|
FROM TestDUTASJobSchedule.dbo.JobDependencies d
|
||||||
|
JOIN TestDUTASJobSchedule.dbo.JobControl jc ON d.JobName = jc.JobName
|
||||||
|
ORDER BY jc.Frequency, jc.ScheduledStartTime;
|
||||||
|
GO
|
||||||
42
SQLAgent/02_Test/3_Job_Maintenance/SQLAgentInfo.sql
Normal file
42
SQLAgent/02_Test/3_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
|
||||||
21
SQLAgent/02_Test/3_Job_Maintenance/TodaysExecution.sql
Normal file
21
SQLAgent/02_Test/3_Job_Maintenance/TodaysExecution.sql
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
USE TestDUTASJobSchedule;
|
||||||
|
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/02_Test/3_Job_Maintenance/TriggerMissedJob.sql
Normal file
9
SQLAgent/02_Test/3_Job_Maintenance/TriggerMissedJob.sql
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
USE [TestDUTASJobSchedule]
|
||||||
|
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;
|
||||||
|
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
# Example PowerShell snippet
|
||||||
|
$Server = "DOES-DUTAS-SQL1"
|
||||||
|
$BackupPath = "\\DOES-RAINVM-DEV\E$\Neeraj\SqlAgent\Backup\"
|
||||||
|
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
||||||
|
$ZipFile = "$BackupPath\SQLAgentJobs_$Timestamp.zip"
|
||||||
|
|
||||||
|
# Make backup folder if not exist
|
||||||
|
if (-not (Test-Path $BackupPath)) { New-Item -ItemType Directory -Path $BackupPath }
|
||||||
|
|
||||||
|
# Export all jobs as SQL files
|
||||||
|
sqlcmd -S $Server -Q "EXEC msdb.dbo.sp_help_job" -o "$BackupPath\SQLAgentJobs_$Timestamp.txt"
|
||||||
|
|
||||||
|
# Compress to zip
|
||||||
|
Compress-Archive -Path "$BackupPath\*" -DestinationPath $ZipFile -Force
|
||||||
|
|
||||||
|
Write-Host "✅ Backup complete: $ZipFile"
|
||||||
102
SQLAgent/02_Test/4_PowerShell_Scripts/Execute-RemoteJob.ps1
Normal file
102
SQLAgent/02_Test/4_PowerShell_Scripts/Execute-RemoteJob.ps1
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]$JobName,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[ValidateSet('DEVL', 'TEST', 'PROD')]
|
||||||
|
[string]$Env
|
||||||
|
)
|
||||||
|
|
||||||
|
try {
|
||||||
|
Write-Host "Starting job $JobName in environment $Env at $(Get-Date)"
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Extract JCL from JobName (ENV_FREQUENCY_JOB pattern)
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
$JCL = $JobName -replace '^[A-Z]+_[A-Z]+_', ''
|
||||||
|
Write-Host "Extracted JCL: $JCL from JobName: $JobName" -ForegroundColor Yellow
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Environment-specific configuration
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
switch ($Env.ToUpper()) {
|
||||||
|
'DEVL' {
|
||||||
|
$ComputerName = '10.57.110.120'
|
||||||
|
$DatabaseName = 'DevlDUTASJobSchedule'
|
||||||
|
}
|
||||||
|
'TEST' {
|
||||||
|
$ComputerName = '10.57.110.141'
|
||||||
|
$DatabaseName = 'TestDUTASJobSchedule'
|
||||||
|
}
|
||||||
|
'PROD' {
|
||||||
|
$ComputerName = '10.57.111.120'
|
||||||
|
$DatabaseName = 'ProdDUTASJobSchedule'
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
throw "Invalid environment specified: $Env"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Remote credentials
|
||||||
|
# (recommend moving credentials to secure vault for production)
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
$username = "DUTASSQLAdminP@does.dcgov.priv"
|
||||||
|
$password = "4ho@3Pr&Xof8" | ConvertTo-SecureString -AsPlainText -Force
|
||||||
|
$credential = New-Object System.Management.Automation.PSCredential($username, $password)
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Execute job remotely using the extracted JCL
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
Write-Host "Connecting to remote server $ComputerName ..."
|
||||||
|
$exitCode = Invoke-Command -ComputerName $ComputerName `
|
||||||
|
-Credential $credential `
|
||||||
|
-Authentication CredSSP `
|
||||||
|
-SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck) `
|
||||||
|
-ArgumentList $JobName, $JCL, $Env `
|
||||||
|
-ScriptBlock {
|
||||||
|
param($JobName, $JCL, $Env)
|
||||||
|
|
||||||
|
Write-Host "Remote execution - JobName: $JobName, JCL: $JCL, Env: $Env"
|
||||||
|
|
||||||
|
$process = Start-Process -FilePath "powershell.exe" `
|
||||||
|
-ArgumentList "-ExecutionPolicy Bypass -File `"E:\PSScript\RCSubmit-Job.ps1`" -JobName `"$JCL`" -Env `"$Env`"" `
|
||||||
|
-NoNewWindow -Wait -PassThru
|
||||||
|
return $process.ExitCode
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($exitCode -eq 0) {
|
||||||
|
Write-Host "Job $JobName (JCL: $JCL) completed successfully at $(Get-Date)" -ForegroundColor Green
|
||||||
|
} else {
|
||||||
|
Write-Error "Job $JobName (JCL: $JCL) failed with exit code: $exitCode"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Error "Job $JobName failed with error: $($_.Exception.Message)"
|
||||||
|
$exitCode = 1
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Log exit code to the appropriate database
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
try {
|
||||||
|
$connectionString = "Server=localhost;Database=$DatabaseName;Trusted_Connection=true;"
|
||||||
|
$connection = New-Object System.Data.SqlClient.SqlConnection($connectionString)
|
||||||
|
$connection.Open()
|
||||||
|
|
||||||
|
$command = $connection.CreateCommand()
|
||||||
|
$command.CommandText = @"
|
||||||
|
INSERT INTO dbo.JobExitCodes (JobName, RunDate, ExitCode, RecordedTime)
|
||||||
|
VALUES ('$JobName', CAST(GETDATE() AS DATE), $exitCode, GETDATE());
|
||||||
|
"@
|
||||||
|
$command.ExecuteNonQuery()
|
||||||
|
$connection.Close()
|
||||||
|
Write-Host "Exit code $exitCode logged to database $DatabaseName for job $JobName"
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
$errorMsg = $_.Exception.Message
|
||||||
|
Write-Host "Failed to log exit code to database $DatabaseName`: $errorMsg"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exit $exitCode
|
||||||
108
SQLAgent/02_Test/4_PowerShell_Scripts/RCSubmit-Job.ps1
Normal file
108
SQLAgent/02_Test/4_PowerShell_Scripts/RCSubmit-Job.ps1
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
param(
|
||||||
|
[string]$JobName,
|
||||||
|
[string]$Env
|
||||||
|
)
|
||||||
|
|
||||||
|
# --- Parameter Validation ---
|
||||||
|
if (-not $JobName) {
|
||||||
|
Write-Host "JobName parameter is required" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
if (-not $Env) {
|
||||||
|
Write-Host "Environment (Env) parameter is required" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Execute Job ---
|
||||||
|
Write-Host "Submitting job: $JobName in environment: $Env" -ForegroundColor Cyan
|
||||||
|
$output = & "$env:rcbin\submit.exe" -DSN="DOESTAX.$Env.JOBS.BATCH.LIB($JobName)"
|
||||||
|
$exitCode = [int]$LASTEXITCODE
|
||||||
|
$isSuccess = 0
|
||||||
|
|
||||||
|
# --- Parse SYSLOG Path ---
|
||||||
|
$syslogPath = $null
|
||||||
|
$syslogFolder = "Not found"
|
||||||
|
$content = @()
|
||||||
|
$summary = @()
|
||||||
|
|
||||||
|
try {
|
||||||
|
$syslogPath = $output | Select-String -Pattern "SYSLOG=\[(.*)\]" | ForEach-Object { $_.Matches.Groups[1].Value }
|
||||||
|
|
||||||
|
if ($syslogPath -and (Test-Path $syslogPath)) {
|
||||||
|
$syslogFolder = Split-Path $syslogPath -Parent
|
||||||
|
$content = Get-Content $syslogPath -ErrorAction Stop
|
||||||
|
$summary = $content | Select-String -Pattern "%Job Overall Stats:" -Context 0,7 | ForEach-Object {
|
||||||
|
$_.Context.PostContext | Select-Object -Skip 1 -First 5
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Write-Host "SYSLOG path not found or inaccessible: $syslogPath" -ForegroundColor Yellow
|
||||||
|
$summary = @("SYSLOG file not found in output", "Raw output:", $output -join "`n")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host "Error processing SYSLOG: $($_.Exception.Message)" -ForegroundColor Yellow
|
||||||
|
$summary = @("Error reading SYSLOG: $($_.Exception.Message)", "Raw output:", $output -join "`n")
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Evaluate Return Codes ---
|
||||||
|
$successConditions = @(
|
||||||
|
{ $JobName -eq "GSIRQ300" -and $exitCode -eq 50 },
|
||||||
|
{ $JobName -eq "DTSGWAGE" -and $exitCode -eq 8 },
|
||||||
|
{ $JobName -eq "DTSGCHKS" -and $exitCode -eq 8 },
|
||||||
|
{ $JobName -eq "DTSGPAYT" -and $exitCode -eq 8 },
|
||||||
|
{ $JobName -eq "DTSBXACH" -and $exitCode -eq 2 },
|
||||||
|
{ $JobName -eq "DTSBXREL" -and $exitCode -eq 2 },
|
||||||
|
{ $JobName -eq "DTSMIN02" -and $exitCode -eq 4 },
|
||||||
|
{ $JobName -eq "DTSBE405" -and $exitCode -eq 910 },
|
||||||
|
{ $JobName -eq "DTSBXREJ" -and $exitCode -eq 4 },
|
||||||
|
{ $JobName -eq "DTSRQ444" -and $exitCode -eq 4 },
|
||||||
|
{ $exitCode -eq 0 }
|
||||||
|
)
|
||||||
|
|
||||||
|
if ($successConditions | Where-Object { & $_ }) {
|
||||||
|
Write-Host "Job $JobName succeeded with code $exitCode" -ForegroundColor Green
|
||||||
|
$isSuccess = 0
|
||||||
|
} else {
|
||||||
|
Write-Host "Job $JobName failed with code $exitCode" -ForegroundColor Red
|
||||||
|
$isSuccess = 1
|
||||||
|
# Only use error if we don't have a proper summary
|
||||||
|
if ($summary.Count -eq 0) {
|
||||||
|
$summary = @($Error[0])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Email Notification ---
|
||||||
|
$smtpServer = "smtp4.dc.gov"
|
||||||
|
$fromEmail = "Dutas@dc.gov"
|
||||||
|
$toEmail = "neerajk@innovaconsulting.com"
|
||||||
|
$ccEmail = @("neerajk@innovaconsulting.com")
|
||||||
|
|
||||||
|
$emailBody = @"
|
||||||
|
<pre style='font-family: Courier, monospace;'>
|
||||||
|
DUTAS Batch Job: $JobName Execution Report
|
||||||
|
==========================================
|
||||||
|
$($summary -join "`n")
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
Return Code: $exitCode
|
||||||
|
Status: $(if ($isSuccess -eq 0) { "SUCCESS" } else { "FAILED" })
|
||||||
|
JOBLOG Path: $syslogFolder
|
||||||
|
</pre>
|
||||||
|
"@
|
||||||
|
|
||||||
|
try {
|
||||||
|
Send-MailMessage -SmtpServer $smtpServer -Port 25 `
|
||||||
|
-From $fromEmail -To $toEmail -Cc $ccEmail `
|
||||||
|
-Subject "DUTAS-[$Env] Job Status: $JobName - $(if ($isSuccess -eq 0) { 'SUCCESS' } else { 'FAILED' })" `
|
||||||
|
-Body $emailBody -BodyAsHtml
|
||||||
|
Write-Host "Email sent successfully to $toEmail" -ForegroundColor Cyan
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host "Failed to send email: $($_.Exception.Message)" -ForegroundColor Yellow
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "`n---------------------------------------------"
|
||||||
|
Write-Host "Job: $JobName | ExitCode: $exitCode | Status: $(if ($isSuccess -eq 0) { 'SUCCESS' } else { 'FAILED' })"
|
||||||
|
Write-Host "---------------------------------------------`n"
|
||||||
|
|
||||||
|
exit $isSuccess
|
||||||
15
SQLAgent/02_Test/5_Deployment/Deploy_DEVL_to_TEST.sql
Normal file
15
SQLAgent/02_Test/5_Deployment/Deploy_DEVL_to_TEST.sql
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
DECLARE @SrcDB NVARCHAR(128) = 'DevlDUTASJobSchedule';
|
||||||
|
DECLARE @NewDB NVARCHAR(128) = 'TestDUTASJobSchedule';
|
||||||
|
DECLARE @Backup NVARCHAR(260) = '\\DOES-RAINVM-DEV\E$\Neeraj\SqlAgent\Backup\' + @SrcDB + '.bak';
|
||||||
|
|
||||||
|
-- Backup Source
|
||||||
|
BACKUP DATABASE @SrcDB TO DISK = @Backup WITH INIT, COMPRESSION;
|
||||||
|
|
||||||
|
-- Restore as Target
|
||||||
|
DECLARE @SQL NVARCHAR(MAX) = '
|
||||||
|
RESTORE DATABASE [' + @NewDB + ']
|
||||||
|
FROM DISK = N''' + @Backup + '''
|
||||||
|
WITH MOVE N''' + @SrcDB + ''' TO N''\\DOES-RAINVM-DEV\E$\SQLData\' + @NewDB + '.mdf'',
|
||||||
|
MOVE N''' + @SrcDB + '_log'' TO N''\\DOES-RAINVM-DEV\E$\SQLLogs\' + @NewDB + '_log.ldf'',
|
||||||
|
REPLACE;';
|
||||||
|
EXEC(@SQL);
|
||||||
15
SQLAgent/02_Test/5_Deployment/Deploy_TEST_to_PROD.sql
Normal file
15
SQLAgent/02_Test/5_Deployment/Deploy_TEST_to_PROD.sql
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
DECLARE @SrcDB NVARCHAR(128) = 'TestDUTASJobSchedule';
|
||||||
|
DECLARE @NewDB NVARCHAR(128) = 'ProdDUTASJobSchedule';
|
||||||
|
DECLARE @Backup NVARCHAR(260) = '\\DOES-RAINVM-DEV\E$\Neeraj\SqlAgent\Backup\' + @SrcDB + '.bak';
|
||||||
|
|
||||||
|
-- Backup Source
|
||||||
|
BACKUP DATABASE @SrcDB TO DISK = @Backup WITH INIT, COMPRESSION;
|
||||||
|
|
||||||
|
-- Restore as Target
|
||||||
|
DECLARE @SQL NVARCHAR(MAX) = '
|
||||||
|
RESTORE DATABASE [' + @NewDB + ']
|
||||||
|
FROM DISK = N''' + @Backup + '''
|
||||||
|
WITH MOVE N''' + @SrcDB + ''' TO N''\\DOES-RAINVM-DEV\E$\SQLData\' + @NewDB + '.mdf'',
|
||||||
|
MOVE N''' + @SrcDB + '_log'' TO N''\\DOES-RAINVM-DEV\E$\SQLLogs\' + @NewDB + '_log.ldf'',
|
||||||
|
REPLACE;';
|
||||||
|
EXEC(@SQL);
|
||||||
63
SQLAgent/03_Prod/1_Database_Setup/CreateDB.sql
Normal file
63
SQLAgent/03_Prod/1_Database_Setup/CreateDB.sql
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
-- Create the database
|
||||||
|
CREATE DATABASE ProdDUTASJobSchedule;
|
||||||
|
GO
|
||||||
|
|
||||||
|
USE ProdDUTASJobSchedule;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create the main control table
|
||||||
|
CREATE TABLE dbo.JobControl (
|
||||||
|
JobID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
JobName VARCHAR(50) NOT NULL UNIQUE,
|
||||||
|
ScheduledStartTime TIME NOT NULL,
|
||||||
|
SchedulerAction VARCHAR(10) NOT NULL CHECK (SchedulerAction IN ('CONTINUE', 'STOP')),
|
||||||
|
IsActive BIT DEFAULT 1,
|
||||||
|
CreatedDate DATETIME DEFAULT GETDATE(),
|
||||||
|
Frequency VARCHAR(20) NOT NULL
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create job dependencies table
|
||||||
|
CREATE TABLE dbo.JobDependencies (
|
||||||
|
DependencyID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
JobName VARCHAR(50) NOT NULL,
|
||||||
|
PredecessorJobName VARCHAR(50) NULL,
|
||||||
|
FOREIGN KEY (JobName) REFERENCES dbo.JobControl(JobName)
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create execution history table
|
||||||
|
CREATE TABLE dbo.JobExecutionHistory (
|
||||||
|
ExecutionID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
JobName VARCHAR(50) NOT NULL,
|
||||||
|
RunDate DATE NOT NULL,
|
||||||
|
ScheduledStartTime TIME NOT NULL,
|
||||||
|
ActualStartTime DATETIME NULL,
|
||||||
|
ActualEndTime DATETIME NULL,
|
||||||
|
Status VARCHAR(20) DEFAULT 'Pending' CHECK (Status IN ('Pending', 'Running', 'Success', 'Failed', 'ForceComplete')),
|
||||||
|
ErrorMessage VARCHAR(MAX) NULL,
|
||||||
|
OverrideFlag BIT DEFAULT 0,
|
||||||
|
OverrideBy VARCHAR(100) NULL,
|
||||||
|
OverrideDate DATETIME NULL
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create holidays table
|
||||||
|
CREATE TABLE dbo.FederalHolidays (
|
||||||
|
HolidayID INT IDENTITY(1,1) PRIMARY KEY,
|
||||||
|
HolidayDate DATE NOT NULL UNIQUE,
|
||||||
|
HolidayName VARCHAR(100) NOT NULL,
|
||||||
|
Year INT NOT NULL
|
||||||
|
);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create Exit Code table for PowerShell Script
|
||||||
|
CREATE TABLE dbo.JobExitCodes
|
||||||
|
(
|
||||||
|
JobExecutionID INT IDENTITY(1,1) PRIMARY KEY, -- unique ID per execution
|
||||||
|
JobName NVARCHAR(128) NOT NULL, -- job name
|
||||||
|
RunDate DATE NOT NULL, -- date of execution
|
||||||
|
ExitCode INT NOT NULL, -- exit code from job
|
||||||
|
RecordedTime DATETIME NOT NULL DEFAULT GETDATE() -- timestamp of execution
|
||||||
|
);
|
||||||
|
GO
|
||||||
34
SQLAgent/03_Prod/1_Database_Setup/InsertHolidays.sql
Normal file
34
SQLAgent/03_Prod/1_Database_Setup/InsertHolidays.sql
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
USE ProdDUTASJobSchedule;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Clear existing data and insert 2025-2026 holidays (ignoring 0000000000 dates)
|
||||||
|
INSERT INTO dbo.FederalHolidays (HolidayDate, HolidayName, Year) VALUES
|
||||||
|
-- 2025 Holidays
|
||||||
|
('2025-01-01', 'New Years Day', 2025),
|
||||||
|
('2025-01-20', 'Martin Luther King Day', 2025),
|
||||||
|
('2025-02-17', 'Presidents Day', 2025),
|
||||||
|
('2025-05-26', 'Memorial Day', 2025),
|
||||||
|
('2025-06-19', 'Juneteenth Day', 2025),
|
||||||
|
('2025-07-04', 'Independence Day', 2025),
|
||||||
|
('2025-09-01', 'Labor Day', 2025),
|
||||||
|
('2025-10-13', 'Columbus Day', 2025),
|
||||||
|
('2025-11-11', 'Veterans Day', 2025),
|
||||||
|
('2025-11-27', 'Thanksgiving Day', 2025),
|
||||||
|
('2025-12-25', 'Christmas Day', 2025),
|
||||||
|
|
||||||
|
-- 2026 Holidays
|
||||||
|
('2026-01-01', 'New Years Day', 2026),
|
||||||
|
('2026-01-19', 'Martin Luther King Day', 2026),
|
||||||
|
('2026-02-16', 'Presidents Day', 2026),
|
||||||
|
('2026-05-25', 'Memorial Day', 2026),
|
||||||
|
('2026-06-19', 'Juneteenth Day', 2026),
|
||||||
|
('2026-07-03', 'Independence Day', 2026), -- Note: July 3rd observed since July 4th is Saturday
|
||||||
|
('2026-09-07', 'Labor Day', 2026),
|
||||||
|
('2026-10-12', 'Columbus Day', 2026),
|
||||||
|
('2026-11-11', 'Veterans Day', 2026),
|
||||||
|
('2026-11-26', 'Thanksgiving Day', 2026),
|
||||||
|
('2026-12-25', 'Christmas Day', 2026);
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Verify the data
|
||||||
|
SELECT * FROM dbo.FederalHolidays ORDER BY HolidayDate;
|
||||||
79
SQLAgent/03_Prod/1_Database_Setup/InsertJobControl.sql
Normal file
79
SQLAgent/03_Prod/1_Database_Setup/InsertJobControl.sql
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
USE [ProdDUTASJobSchedule]
|
||||||
|
GO
|
||||||
|
|
||||||
|
INSERT INTO [dbo].[JobControl] (
|
||||||
|
[JobName],
|
||||||
|
[ScheduledStartTime],
|
||||||
|
[SchedulerAction],
|
||||||
|
[IsActive],
|
||||||
|
[CreatedDate],
|
||||||
|
[Frequency]
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
('PROD_DAILY_DTSBX215', '4:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX305', '4:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSGSID0', '6:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_GSIRQ300', '6:05:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSRQ202', '6:10:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSGSID1', '6:15:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX202', '7:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSFT202', '8:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX432', '8:30:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSGACHD', '9:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX303', '10:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSGWAGE', '14:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSGCHKS', '14:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSESDAY', '14:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSGPAYT', '14:10:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSDX145', '16:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX629', '16:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX630', '16:30:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSFRAUD', '16:30:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSRACHD', '17:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBXACH', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBXREG', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX430', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX626', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX530', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBXREL', '17:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX450', '17:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX451', '17:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSPACHD', '18:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSPX148', '18:05:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSRQ325', '18:05:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX427', '18:07:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSPDAY1', '18:10:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSW4WGE', '18:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSGSID2', '18:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSGSID9', '18:15:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSMIN01', '18:20:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSMIN02', '18:20:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSRQ459', '19:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBXPFL', '19:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DESBD427', '19:05:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX403', '20:00:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBE405', '20:15:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX405', '20:15:00', 'CONTINUE', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSRQ335', '21:00:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_DAILY_DTSBX601', '21:25:00', 'STOP', 1, GETDATE(), 'DAILY'),
|
||||||
|
('PROD_WEEKLY_DTSGSID0', '6:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('PROD_WEEKLY_DTSGSID1', '6:15:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('PROD_WEEKLY_DTSBX202', '7:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('PROD_WEEKLY_DTSFT202', '8:00:00', 'STOP', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('PROD_WEEKLY_DTSBX470', '7:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('PROD_WEEKLY_DTSBXREJ', '17:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('PROD_WEEKLY_DTSPDAY7', '19:10:00', 'STOP', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('PROD_WEEKLY_DTSBX122', '19:14:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('PROD_WEEKLY_DTSRQ511', '19:14:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('PROD_WEEKLY_DTSRQ444', '7:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('PROD_WEEKLY_DTSRQ126', '9:00:00', 'CONTINUE', 1, GETDATE(), 'WEEKLY'),
|
||||||
|
('PROD_MONTHLY_DTSRQ414', '18:15:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('PROD_MONTHLY_DTSPMON1', '19:15:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('PROD_MONTHLY_DTSCHGVB', '19:26:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('PROD_MONTHLY_DTSCHGVR', '19:27:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('PROD_MONTHLY_DTSVBKUP', '19:26:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('PROD_MONTHLY_DTSVRSTR', '19:30:00', 'STOP', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('PROD_MONTHLY_DTSRQ442', '19:37:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('PROD_MONTHLY_DTSBX460', '19:35:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('PROD_MONTHLY_DTSRQ513', '19:37:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY'),
|
||||||
|
('PROD_MONTHLY_DTSCHGDC', '13:00:00', 'CONTINUE', 0, GETDATE(), 'MONTHLY');
|
||||||
75
SQLAgent/03_Prod/1_Database_Setup/InsertJobDependencies.sql
Normal file
75
SQLAgent/03_Prod/1_Database_Setup/InsertJobDependencies.sql
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
USE [ProdDUTASJobSchedule]
|
||||||
|
GO
|
||||||
|
|
||||||
|
INSERT INTO [dbo].[JobDependencies] (
|
||||||
|
[JobName],
|
||||||
|
[PredecessorJobName]
|
||||||
|
)
|
||||||
|
VALUES
|
||||||
|
('PROD_DAILY_DTSGSID0','PROD_DAILY_DTSBX305'),
|
||||||
|
('PROD_DAILY_GSIRQ300','PROD_DAILY_DTSBX305'),
|
||||||
|
('PROD_DAILY_DTSRQ202','PROD_DAILY_GSIRQ300'),
|
||||||
|
('PROD_DAILY_DTSGSID1','PROD_DAILY_GSIRQ300'),
|
||||||
|
('PROD_DAILY_DTSBX202','PROD_DAILY_GSIRQ300'),
|
||||||
|
('PROD_DAILY_DTSFT202','PROD_DAILY_GSIRQ300'),
|
||||||
|
('PROD_DAILY_DTSBX432','PROD_DAILY_GSIRQ300'),
|
||||||
|
('PROD_DAILY_DTSGACHD','PROD_DAILY_GSIRQ300'),
|
||||||
|
('PROD_DAILY_DTSBX303','PROD_DAILY_GSIRQ300'),
|
||||||
|
('PROD_DAILY_DTSGWAGE','PROD_DAILY_GSIRQ300'),
|
||||||
|
('PROD_DAILY_DTSGCHKS','PROD_DAILY_DTSGWAGE'),
|
||||||
|
('PROD_DAILY_DTSESDAY','PROD_DAILY_DTSGCHKS'),
|
||||||
|
('PROD_DAILY_DTSGPAYT','PROD_DAILY_DTSESDAY'),
|
||||||
|
('PROD_DAILY_DTSDX145','PROD_DAILY_DTSGPAYT'),
|
||||||
|
('PROD_DAILY_DTSBX629','PROD_DAILY_GSIRQ300'),
|
||||||
|
('PROD_DAILY_DTSBX630','PROD_DAILY_DTSBX629'),
|
||||||
|
('PROD_DAILY_DTSFRAUD','PROD_DAILY_DTSBX630'),
|
||||||
|
('PROD_DAILY_DTSRACHD','PROD_DAILY_DTSFRAUD'),
|
||||||
|
('PROD_DAILY_DTSBXACH','PROD_DAILY_DTSFRAUD'),
|
||||||
|
('PROD_DAILY_DTSBXREG','PROD_DAILY_DTSFRAUD'),
|
||||||
|
('PROD_DAILY_DTSBX430','PROD_DAILY_DTSFRAUD'),
|
||||||
|
('PROD_DAILY_DTSBX626','PROD_DAILY_DTSFRAUD'),
|
||||||
|
('PROD_DAILY_DTSBX530','PROD_DAILY_DTSFRAUD'),
|
||||||
|
('PROD_DAILY_DTSBXREL','PROD_DAILY_DTSFRAUD'),
|
||||||
|
('PROD_DAILY_DTSBX450','PROD_DAILY_DTSBXACH'),
|
||||||
|
('PROD_DAILY_DTSBX450','PROD_DAILY_DTSBXREG'),
|
||||||
|
('PROD_DAILY_DTSBX450','PROD_DAILY_DTSBX430'),
|
||||||
|
('PROD_DAILY_DTSBX450','PROD_DAILY_DTSBX626'),
|
||||||
|
('PROD_DAILY_DTSBX450','PROD_DAILY_DTSBX530'),
|
||||||
|
('PROD_DAILY_DTSBX450','PROD_DAILY_DTSBXREL'),
|
||||||
|
('PROD_DAILY_DTSBX451','PROD_DAILY_DTSBXACH'),
|
||||||
|
('PROD_DAILY_DTSBX451','PROD_DAILY_DTSBXREG'),
|
||||||
|
('PROD_DAILY_DTSBX451','PROD_DAILY_DTSBX430'),
|
||||||
|
('PROD_DAILY_DTSBX451','PROD_DAILY_DTSBX626'),
|
||||||
|
('PROD_DAILY_DTSBX451','PROD_DAILY_DTSBX530'),
|
||||||
|
('PROD_DAILY_DTSBX451','PROD_DAILY_DTSBXREL'),
|
||||||
|
('PROD_DAILY_DTSPACHD','PROD_DAILY_DTSBX451'),
|
||||||
|
('PROD_DAILY_DTSPX148','PROD_DAILY_DTSPACHD'),
|
||||||
|
('PROD_DAILY_DTSRQ325','PROD_DAILY_DTSPX148'),
|
||||||
|
('PROD_DAILY_DTSBX427','PROD_DAILY_DTSRQ325'),
|
||||||
|
('PROD_DAILY_DTSPDAY1','PROD_DAILY_DTSBX427'),
|
||||||
|
('PROD_DAILY_DTSW4WGE','PROD_DAILY_DTSPDAY1'),
|
||||||
|
('PROD_DAILY_DTSGSID2','PROD_DAILY_DTSPDAY1'),
|
||||||
|
('PROD_DAILY_DTSGSID9','PROD_DAILY_DTSPDAY1'),
|
||||||
|
('PROD_DAILY_DTSMIN01','PROD_DAILY_DTSW4WGE'),
|
||||||
|
('PROD_DAILY_DTSMIN01','PROD_DAILY_DTSGSID2'),
|
||||||
|
('PROD_DAILY_DTSMIN01','PROD_DAILY_DTSGSID9'),
|
||||||
|
('PROD_DAILY_DTSMIN02','PROD_DAILY_DTSW4WGE'),
|
||||||
|
('PROD_DAILY_DTSMIN02','PROD_DAILY_DTSGSID2'),
|
||||||
|
('PROD_DAILY_DTSMIN02','PROD_DAILY_DTSGSID9'),
|
||||||
|
('PROD_DAILY_DTSRQ459','PROD_DAILY_DTSMIN02'),
|
||||||
|
('PROD_DAILY_DTSBXPFL','PROD_DAILY_DTSRQ459'),
|
||||||
|
('PROD_DAILY_DESBD427','PROD_DAILY_DTSBXPFL'),
|
||||||
|
('PROD_DAILY_DTSBX403','PROD_DAILY_DTSBXPFL'),
|
||||||
|
('PROD_DAILY_DTSBE405','PROD_DAILY_DTSBXPFL'),
|
||||||
|
('PROD_DAILY_DTSBX405','PROD_DAILY_DTSBXPFL'),
|
||||||
|
('PROD_DAILY_DTSRQ335','PROD_DAILY_DTSBXPFL'),
|
||||||
|
('PROD_DAILY_DTSBX601','PROD_DAILY_DTSRQ335'),
|
||||||
|
('PROD_WEEKLY_DTSBXREJ','PROD_DAILY_DTSBXREL'),
|
||||||
|
('PROD_WEEKLY_DTSBX122','PROD_WEEKLY_DTSPDAY7'),
|
||||||
|
('PROD_WEEKLY_DTSRQ511','PROD_WEEKLY_DTSPDAY7'),
|
||||||
|
('PROD_MONTHLY_DTSRQ414','PROD_DAILY_DTSPDAY1'),
|
||||||
|
('PROD_MONTHLY_DTSCHGVB','PROD_MONTHLY_DTSPMON1'),
|
||||||
|
('PROD_MONTHLY_DTSCHGVR','PROD_MONTHLY_DTSCHGVB'),
|
||||||
|
('PROD_MONTHLY_DTSVBKUP','PROD_MONTHLY_DTSPMON1'),
|
||||||
|
('PROD_MONTHLY_DTSVRSTR','PROD_MONTHLY_DTSVBKUP'),
|
||||||
|
('PROD_MONTHLY_DTSRQ442','PROD_MONTHLY_DTSRQ513');
|
||||||
BIN
SQLAgent/03_Prod/2_Stored_Procedures/usp_CheckJobConditions.sql
Normal file
BIN
SQLAgent/03_Prod/2_Stored_Procedures/usp_CheckJobConditions.sql
Normal file
Binary file not shown.
Binary file not shown.
BIN
SQLAgent/03_Prod/2_Stored_Procedures/usp_CreateSQLAgentJob.sql
Normal file
BIN
SQLAgent/03_Prod/2_Stored_Procedures/usp_CreateSQLAgentJob.sql
Normal file
Binary file not shown.
BIN
SQLAgent/03_Prod/2_Stored_Procedures/usp_ForceComplete.sql
Normal file
BIN
SQLAgent/03_Prod/2_Stored_Procedures/usp_ForceComplete.sql
Normal file
Binary file not shown.
BIN
SQLAgent/03_Prod/2_Stored_Procedures/usp_ScheduleMonthlyJob.sql
Normal file
BIN
SQLAgent/03_Prod/2_Stored_Procedures/usp_ScheduleMonthlyJob.sql
Normal file
Binary file not shown.
BIN
SQLAgent/03_Prod/2_Stored_Procedures/usp_TriggerMissedJobs.sql
Normal file
BIN
SQLAgent/03_Prod/2_Stored_Procedures/usp_TriggerMissedJobs.sql
Normal file
Binary file not shown.
Binary file not shown.
65
SQLAgent/03_Prod/3_Job_Maintenance/ActivateMonthlyJob.sql
Normal file
65
SQLAgent/03_Prod/3_Job_Maintenance/ActivateMonthlyJob.sql
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
USE msdb;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Schedule PROD Monthly Jobs for October 2025
|
||||||
|
------------------------------------------------
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='PROD_MONTHLY_DTSRQ414',
|
||||||
|
@Env='PROD',
|
||||||
|
@RunDate='2025-11-03',
|
||||||
|
@RunTime='18:15:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='PROD_MONTHLY_DTSPMON1',
|
||||||
|
@Env='PROD',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:15:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='PROD_MONTHLY_DTSCHGVB',
|
||||||
|
@Env='PROD',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:26:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='PROD_MONTHLY_DTSCHGVR',
|
||||||
|
@Env='PROD',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:27:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='PROD_MONTHLY_DTSVBKUP',
|
||||||
|
@Env='PROD',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:26:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='PROD_MONTHLY_DTSVRSTR',
|
||||||
|
@Env='PROD',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:30:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='PROD_MONTHLY_DTSRQ442',
|
||||||
|
@Env='PROD',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:37:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='PROD_MONTHLY_DTSBX460',
|
||||||
|
@Env='PROD',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:35:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='PROD_MONTHLY_DTSRQ513',
|
||||||
|
@Env='PROD',
|
||||||
|
@RunDate='2025-10-31',
|
||||||
|
@RunTime='19:37:00';
|
||||||
|
|
||||||
|
EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
@JobName='PROD_MONTHLY_DTSCHGDC',
|
||||||
|
@Env='PROD',
|
||||||
|
@RunDate='2025-11-03',
|
||||||
|
@RunTime='13:00:00';
|
||||||
|
GO
|
||||||
279
SQLAgent/03_Prod/3_Job_Maintenance/AddDailyJobs.sql
Normal file
279
SQLAgent/03_Prod/3_Job_Maintenance/AddDailyJobs.sql
Normal file
@ -0,0 +1,279 @@
|
|||||||
|
USE [msdb]
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Execute the stored procedure for each job
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX215',
|
||||||
|
@StartTimeHHMMSS = 40000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX305',
|
||||||
|
@StartTimeHHMMSS = 40000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSGSID0',
|
||||||
|
@StartTimeHHMMSS = 60000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_GSIRQ300',
|
||||||
|
@StartTimeHHMMSS = 60500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSRQ202',
|
||||||
|
@StartTimeHHMMSS = 61000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSGSID1',
|
||||||
|
@StartTimeHHMMSS = 61500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX202',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSFT202',
|
||||||
|
@StartTimeHHMMSS = 80000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX432',
|
||||||
|
@StartTimeHHMMSS = 83000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSGACHD',
|
||||||
|
@StartTimeHHMMSS = 90000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX303',
|
||||||
|
@StartTimeHHMMSS = 100000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSGWAGE',
|
||||||
|
@StartTimeHHMMSS = 140000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSGCHKS',
|
||||||
|
@StartTimeHHMMSS = 140500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSESDAY',
|
||||||
|
@StartTimeHHMMSS = 140500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSGPAYT',
|
||||||
|
@StartTimeHHMMSS = 141000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSDX145',
|
||||||
|
@StartTimeHHMMSS = 160500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX629',
|
||||||
|
@StartTimeHHMMSS = 161500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX630',
|
||||||
|
@StartTimeHHMMSS = 163000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSFRAUD',
|
||||||
|
@StartTimeHHMMSS = 163000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSRACHD',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBXACH',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBXREG',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX430',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX626',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX530',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBXREL',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX450',
|
||||||
|
@StartTimeHHMMSS = 171500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX451',
|
||||||
|
@StartTimeHHMMSS = 171500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSPACHD',
|
||||||
|
@StartTimeHHMMSS = 180000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSPX148',
|
||||||
|
@StartTimeHHMMSS = 180500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSRQ325',
|
||||||
|
@StartTimeHHMMSS = 180500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX427',
|
||||||
|
@StartTimeHHMMSS = 180700,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSPDAY1',
|
||||||
|
@StartTimeHHMMSS = 181000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSW4WGE',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSGSID2',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSGSID9',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSMIN01',
|
||||||
|
@StartTimeHHMMSS = 182000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSMIN02',
|
||||||
|
@StartTimeHHMMSS = 182000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSRQ459',
|
||||||
|
@StartTimeHHMMSS = 190000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBXPFL',
|
||||||
|
@StartTimeHHMMSS = 190000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DESBD427',
|
||||||
|
@StartTimeHHMMSS = 190500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX403',
|
||||||
|
@StartTimeHHMMSS = 200000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBE405',
|
||||||
|
@StartTimeHHMMSS = 201500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX405',
|
||||||
|
@StartTimeHHMMSS = 201500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSRQ335',
|
||||||
|
@StartTimeHHMMSS = 210000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
|
|
||||||
|
EXEC [dbo].[usp_CreateSQLAgentJob]
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX601',
|
||||||
|
@StartTimeHHMMSS = 212500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
76
SQLAgent/03_Prod/3_Job_Maintenance/AddMonthlyJobs.sql
Normal file
76
SQLAgent/03_Prod/3_Job_Maintenance/AddMonthlyJobs.sql
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
USE [msdb];
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Note: Frequency here is used only for description (used for category): MONTHLY
|
||||||
|
-- By Default Job will be scheduled Mon to Fri at specified time. Please change the schedules as per the requirement.
|
||||||
|
|
||||||
|
-- 1.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_MONTHLY_DTSRQ414',
|
||||||
|
@StartTimeHHMMSS = 181500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 2.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_MONTHLY_DTSPMON1',
|
||||||
|
@StartTimeHHMMSS = 191500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 3.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_MONTHLY_DTSCHGVB',
|
||||||
|
@StartTimeHHMMSS = 192600,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 4.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_MONTHLY_DTSCHGVR',
|
||||||
|
@StartTimeHHMMSS = 192700,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 5.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_MONTHLY_DTSVBKUP',
|
||||||
|
@StartTimeHHMMSS = 192600,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 6.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_MONTHLY_DTSVRSTR',
|
||||||
|
@StartTimeHHMMSS = 193000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 7.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_MONTHLY_DTSRQ442',
|
||||||
|
@StartTimeHHMMSS = 193700,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 8.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_MONTHLY_DTSBX460',
|
||||||
|
@StartTimeHHMMSS = 193500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 9.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_MONTHLY_DTSRQ513',
|
||||||
|
@StartTimeHHMMSS = 193700,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
|
||||||
|
-- 10.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_MONTHLY_DTSCHGDC',
|
||||||
|
@StartTimeHHMMSS = 130000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'MONTHLY';
|
||||||
|
GO
|
||||||
9
SQLAgent/03_Prod/3_Job_Maintenance/AddOneJob.sql
Normal file
9
SQLAgent/03_Prod/3_Job_Maintenance/AddOneJob.sql
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
USE [msdb]
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Create a job that runs Monday-Friday at 4:00 AM
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_DAILY_DTSBX215',
|
||||||
|
@StartTimeHHMMSS = 40000, -- For 4:00:00 AM (143000 for 2:30:00 PM)
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'DAILY';
|
||||||
81
SQLAgent/03_Prod/3_Job_Maintenance/AddWeeklyJobs.sql
Normal file
81
SQLAgent/03_Prod/3_Job_Maintenance/AddWeeklyJobs.sql
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
USE [msdb]
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Note: Frequency here is used only for description (used for category): DAILY, WEEKLY, etc.
|
||||||
|
-- By Default Job will be scheduled to run on Mon to Fri at specified time. Please change the schedules as per the requirement.
|
||||||
|
-- 1.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_WEEKLY_DTSGSID0',
|
||||||
|
@StartTimeHHMMSS = 60000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 2.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_WEEKLY_DTSGSID1',
|
||||||
|
@StartTimeHHMMSS = 61500,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 3.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_WEEKLY_DTSBX202',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 4.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_WEEKLY_DTSFT202',
|
||||||
|
@StartTimeHHMMSS = 80000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 5.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_WEEKLY_DTSBX470',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 6.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_WEEKLY_DTSBXREJ',
|
||||||
|
@StartTimeHHMMSS = 170000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 7.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_WEEKLY_DTSPDAY7',
|
||||||
|
@StartTimeHHMMSS = 191000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 8.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_WEEKLY_DTSBX122',
|
||||||
|
@StartTimeHHMMSS = 191400,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 9.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_WEEKLY_DTSRQ511',
|
||||||
|
@StartTimeHHMMSS = 191400,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 10.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_WEEKLY_DTSRQ444',
|
||||||
|
@StartTimeHHMMSS = 70000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
|
|
||||||
|
-- 11.
|
||||||
|
EXEC dbo.usp_CreateSQLAgentJob
|
||||||
|
@JobName = 'PROD_WEEKLY_DTSRQ126',
|
||||||
|
@StartTimeHHMMSS = 90000,
|
||||||
|
@Env = 'PROD',
|
||||||
|
@Frequency = 'WEEKLY';
|
||||||
@ -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 = 'PROD'; -- Change for DEVL or TEST
|
||||||
|
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/03_Prod/3_Job_Maintenance/DeactivateMonthlyJob.sql
Normal file
12
SQLAgent/03_Prod/3_Job_Maintenance/DeactivateMonthlyJob.sql
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
USE ProdDUTASJobSchedule;
|
||||||
|
GO
|
||||||
|
|
||||||
|
UPDATE dbo.JobControl
|
||||||
|
SET IsActive = 0
|
||||||
|
WHERE Frequency = 'MONTHLY';
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Optional: Verify changes
|
||||||
|
SELECT JobName, Frequency, IsActive
|
||||||
|
FROM dbo.JobControl
|
||||||
|
WHERE Frequency = 'MONTHLY';
|
||||||
@ -0,0 +1,13 @@
|
|||||||
|
-- If you know both the job name and schedule name
|
||||||
|
DECLARE @JobName NVARCHAR(100) = 'PROD_MONTHLY_DTSCHGDC';
|
||||||
|
DECLARE @ScheduleName NVARCHAR(200) = 'PROD_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;
|
||||||
16
SQLAgent/03_Prod/3_Job_Maintenance/ForceCompleteJob.sql
Normal file
16
SQLAgent/03_Prod/3_Job_Maintenance/ForceCompleteJob.sql
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
USE ProdDUTASJobSchedule;
|
||||||
|
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);
|
||||||
47
SQLAgent/03_Prod/3_Job_Maintenance/JobInfo.sql
Normal file
47
SQLAgent/03_Prod/3_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 ProdDUTASJobSchedule.dbo.JobControl
|
||||||
|
WHERE IsActive = 1
|
||||||
|
ORDER BY Frequency, ScheduledStartTime;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- View all inactive jobs
|
||||||
|
SELECT JobName, Frequency, ScheduledStartTime
|
||||||
|
FROM ProdDUTASJobSchedule.dbo.JobControl
|
||||||
|
WHERE IsActive = 0
|
||||||
|
ORDER BY Frequency;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Find weekly/monthly jobs
|
||||||
|
SELECT JobName, Frequency, ScheduledStartTime
|
||||||
|
FROM ProdDUTASJobSchedule.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) = 'PROD_MONTHLY_DTSCHGVR';
|
||||||
|
SELECT JobName, PredecessorJobName
|
||||||
|
FROM ProdDUTASJobSchedule.dbo.JobDependencies
|
||||||
|
WHERE JobName = @Job;
|
||||||
|
GO
|
||||||
|
|
||||||
|
-- Show dependency chain overview
|
||||||
|
SELECT d.JobName, d.PredecessorJobName, jc.ScheduledStartTime, jc.Frequency
|
||||||
|
FROM ProdDUTASJobSchedule.dbo.JobDependencies d
|
||||||
|
JOIN ProdDUTASJobSchedule.dbo.JobControl jc ON d.JobName = jc.JobName
|
||||||
|
ORDER BY jc.Frequency, jc.ScheduledStartTime;
|
||||||
|
GO
|
||||||
42
SQLAgent/03_Prod/3_Job_Maintenance/SQLAgentInfo.sql
Normal file
42
SQLAgent/03_Prod/3_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
|
||||||
21
SQLAgent/03_Prod/3_Job_Maintenance/TodaysExecution.sql
Normal file
21
SQLAgent/03_Prod/3_Job_Maintenance/TodaysExecution.sql
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
USE ProdDUTASJobSchedule;
|
||||||
|
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/03_Prod/3_Job_Maintenance/TriggerMissedJob.sql
Normal file
9
SQLAgent/03_Prod/3_Job_Maintenance/TriggerMissedJob.sql
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
USE [ProdDUTASJobSchedule]
|
||||||
|
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;
|
||||||
|
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
# Example PowerShell snippet
|
||||||
|
$Server = "DOES-DUTAS-SQL1"
|
||||||
|
$BackupPath = "\\DOES-RAINVM-DEV\E$\Neeraj\SqlAgent\Backup\"
|
||||||
|
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
|
||||||
|
$ZipFile = "$BackupPath\SQLAgentJobs_$Timestamp.zip"
|
||||||
|
|
||||||
|
# Make backup folder if not exist
|
||||||
|
if (-not (Test-Path $BackupPath)) { New-Item -ItemType Directory -Path $BackupPath }
|
||||||
|
|
||||||
|
# Export all jobs as SQL files
|
||||||
|
sqlcmd -S $Server -Q "EXEC msdb.dbo.sp_help_job" -o "$BackupPath\SQLAgentJobs_$Timestamp.txt"
|
||||||
|
|
||||||
|
# Compress to zip
|
||||||
|
Compress-Archive -Path "$BackupPath\*" -DestinationPath $ZipFile -Force
|
||||||
|
|
||||||
|
Write-Host "✅ Backup complete: $ZipFile"
|
||||||
102
SQLAgent/03_Prod/4_PowerShell_Scripts/Execute-RemoteJob.ps1
Normal file
102
SQLAgent/03_Prod/4_PowerShell_Scripts/Execute-RemoteJob.ps1
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
param(
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[string]$JobName,
|
||||||
|
|
||||||
|
[Parameter(Mandatory = $true)]
|
||||||
|
[ValidateSet('DEVL', 'TEST', 'PROD')]
|
||||||
|
[string]$Env
|
||||||
|
)
|
||||||
|
|
||||||
|
try {
|
||||||
|
Write-Host "Starting job $JobName in environment $Env at $(Get-Date)"
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Extract JCL from JobName (ENV_FREQUENCY_JOB pattern)
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
$JCL = $JobName -replace '^[A-Z]+_[A-Z]+_', ''
|
||||||
|
Write-Host "Extracted JCL: $JCL from JobName: $JobName" -ForegroundColor Yellow
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Environment-specific configuration
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
switch ($Env.ToUpper()) {
|
||||||
|
'DEVL' {
|
||||||
|
$ComputerName = '10.57.110.120'
|
||||||
|
$DatabaseName = 'DevlDUTASJobSchedule'
|
||||||
|
}
|
||||||
|
'TEST' {
|
||||||
|
$ComputerName = '10.57.110.141'
|
||||||
|
$DatabaseName = 'TestDUTASJobSchedule'
|
||||||
|
}
|
||||||
|
'PROD' {
|
||||||
|
$ComputerName = '10.57.111.120'
|
||||||
|
$DatabaseName = 'ProdDUTASJobSchedule'
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
throw "Invalid environment specified: $Env"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Remote credentials
|
||||||
|
# (recommend moving credentials to secure vault for production)
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
$username = "DUTASSQLAdminP@does.dcgov.priv"
|
||||||
|
$password = "4ho@3Pr&Xof8" | ConvertTo-SecureString -AsPlainText -Force
|
||||||
|
$credential = New-Object System.Management.Automation.PSCredential($username, $password)
|
||||||
|
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Execute job remotely using the extracted JCL
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
Write-Host "Connecting to remote server $ComputerName ..."
|
||||||
|
$exitCode = Invoke-Command -ComputerName $ComputerName `
|
||||||
|
-Credential $credential `
|
||||||
|
-Authentication CredSSP `
|
||||||
|
-SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck) `
|
||||||
|
-ArgumentList $JobName, $JCL, $Env `
|
||||||
|
-ScriptBlock {
|
||||||
|
param($JobName, $JCL, $Env)
|
||||||
|
|
||||||
|
Write-Host "Remote execution - JobName: $JobName, JCL: $JCL, Env: $Env"
|
||||||
|
|
||||||
|
$process = Start-Process -FilePath "powershell.exe" `
|
||||||
|
-ArgumentList "-ExecutionPolicy Bypass -File `"E:\PSScript\RCSubmit-Job.ps1`" -JobName `"$JCL`" -Env `"$Env`"" `
|
||||||
|
-NoNewWindow -Wait -PassThru
|
||||||
|
return $process.ExitCode
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($exitCode -eq 0) {
|
||||||
|
Write-Host "Job $JobName (JCL: $JCL) completed successfully at $(Get-Date)" -ForegroundColor Green
|
||||||
|
} else {
|
||||||
|
Write-Error "Job $JobName (JCL: $JCL) failed with exit code: $exitCode"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Error "Job $JobName failed with error: $($_.Exception.Message)"
|
||||||
|
$exitCode = 1
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
# Log exit code to the appropriate database
|
||||||
|
# ------------------------------------------------------------
|
||||||
|
try {
|
||||||
|
$connectionString = "Server=localhost;Database=$DatabaseName;Trusted_Connection=true;"
|
||||||
|
$connection = New-Object System.Data.SqlClient.SqlConnection($connectionString)
|
||||||
|
$connection.Open()
|
||||||
|
|
||||||
|
$command = $connection.CreateCommand()
|
||||||
|
$command.CommandText = @"
|
||||||
|
INSERT INTO dbo.JobExitCodes (JobName, RunDate, ExitCode, RecordedTime)
|
||||||
|
VALUES ('$JobName', CAST(GETDATE() AS DATE), $exitCode, GETDATE());
|
||||||
|
"@
|
||||||
|
$command.ExecuteNonQuery()
|
||||||
|
$connection.Close()
|
||||||
|
Write-Host "Exit code $exitCode logged to database $DatabaseName for job $JobName"
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
$errorMsg = $_.Exception.Message
|
||||||
|
Write-Host "Failed to log exit code to database $DatabaseName`: $errorMsg"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exit $exitCode
|
||||||
108
SQLAgent/03_Prod/4_PowerShell_Scripts/RCSubmit-Job.ps1
Normal file
108
SQLAgent/03_Prod/4_PowerShell_Scripts/RCSubmit-Job.ps1
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
param(
|
||||||
|
[string]$JobName,
|
||||||
|
[string]$Env
|
||||||
|
)
|
||||||
|
|
||||||
|
# --- Parameter Validation ---
|
||||||
|
if (-not $JobName) {
|
||||||
|
Write-Host "JobName parameter is required" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
if (-not $Env) {
|
||||||
|
Write-Host "Environment (Env) parameter is required" -ForegroundColor Red
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Execute Job ---
|
||||||
|
Write-Host "Submitting job: $JobName in environment: $Env" -ForegroundColor Cyan
|
||||||
|
$output = & "$env:rcbin\submit.exe" -DSN="DOESTAX.$Env.JOBS.BATCH.LIB($JobName)"
|
||||||
|
$exitCode = [int]$LASTEXITCODE
|
||||||
|
$isSuccess = 0
|
||||||
|
|
||||||
|
# --- Parse SYSLOG Path ---
|
||||||
|
$syslogPath = $null
|
||||||
|
$syslogFolder = "Not found"
|
||||||
|
$content = @()
|
||||||
|
$summary = @()
|
||||||
|
|
||||||
|
try {
|
||||||
|
$syslogPath = $output | Select-String -Pattern "SYSLOG=\[(.*)\]" | ForEach-Object { $_.Matches.Groups[1].Value }
|
||||||
|
|
||||||
|
if ($syslogPath -and (Test-Path $syslogPath)) {
|
||||||
|
$syslogFolder = Split-Path $syslogPath -Parent
|
||||||
|
$content = Get-Content $syslogPath -ErrorAction Stop
|
||||||
|
$summary = $content | Select-String -Pattern "%Job Overall Stats:" -Context 0,7 | ForEach-Object {
|
||||||
|
$_.Context.PostContext | Select-Object -Skip 1 -First 5
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Write-Host "SYSLOG path not found or inaccessible: $syslogPath" -ForegroundColor Yellow
|
||||||
|
$summary = @("SYSLOG file not found in output", "Raw output:", $output -join "`n")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host "Error processing SYSLOG: $($_.Exception.Message)" -ForegroundColor Yellow
|
||||||
|
$summary = @("Error reading SYSLOG: $($_.Exception.Message)", "Raw output:", $output -join "`n")
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Evaluate Return Codes ---
|
||||||
|
$successConditions = @(
|
||||||
|
{ $JobName -eq "GSIRQ300" -and $exitCode -eq 50 },
|
||||||
|
{ $JobName -eq "DTSGWAGE" -and $exitCode -eq 8 },
|
||||||
|
{ $JobName -eq "DTSGCHKS" -and $exitCode -eq 8 },
|
||||||
|
{ $JobName -eq "DTSGPAYT" -and $exitCode -eq 8 },
|
||||||
|
{ $JobName -eq "DTSBXACH" -and $exitCode -eq 2 },
|
||||||
|
{ $JobName -eq "DTSBXREL" -and $exitCode -eq 2 },
|
||||||
|
{ $JobName -eq "DTSMIN02" -and $exitCode -eq 4 },
|
||||||
|
{ $JobName -eq "DTSBE405" -and $exitCode -eq 910 },
|
||||||
|
{ $JobName -eq "DTSBXREJ" -and $exitCode -eq 4 },
|
||||||
|
{ $JobName -eq "DTSRQ444" -and $exitCode -eq 4 },
|
||||||
|
{ $exitCode -eq 0 }
|
||||||
|
)
|
||||||
|
|
||||||
|
if ($successConditions | Where-Object { & $_ }) {
|
||||||
|
Write-Host "Job $JobName succeeded with code $exitCode" -ForegroundColor Green
|
||||||
|
$isSuccess = 0
|
||||||
|
} else {
|
||||||
|
Write-Host "Job $JobName failed with code $exitCode" -ForegroundColor Red
|
||||||
|
$isSuccess = 1
|
||||||
|
# Only use error if we don't have a proper summary
|
||||||
|
if ($summary.Count -eq 0) {
|
||||||
|
$summary = @($Error[0])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# --- Email Notification ---
|
||||||
|
$smtpServer = "smtp4.dc.gov"
|
||||||
|
$fromEmail = "Dutas@dc.gov"
|
||||||
|
$toEmail = "neerajk@innovaconsulting.com"
|
||||||
|
$ccEmail = @("neerajk@innovaconsulting.com")
|
||||||
|
|
||||||
|
$emailBody = @"
|
||||||
|
<pre style='font-family: Courier, monospace;'>
|
||||||
|
DUTAS Batch Job: $JobName Execution Report
|
||||||
|
==========================================
|
||||||
|
$($summary -join "`n")
|
||||||
|
==========================================
|
||||||
|
|
||||||
|
Return Code: $exitCode
|
||||||
|
Status: $(if ($isSuccess -eq 0) { "SUCCESS" } else { "FAILED" })
|
||||||
|
JOBLOG Path: $syslogFolder
|
||||||
|
</pre>
|
||||||
|
"@
|
||||||
|
|
||||||
|
try {
|
||||||
|
Send-MailMessage -SmtpServer $smtpServer -Port 25 `
|
||||||
|
-From $fromEmail -To $toEmail -Cc $ccEmail `
|
||||||
|
-Subject "DUTAS-[$Env] Job Status: $JobName - $(if ($isSuccess -eq 0) { 'SUCCESS' } else { 'FAILED' })" `
|
||||||
|
-Body $emailBody -BodyAsHtml
|
||||||
|
Write-Host "Email sent successfully to $toEmail" -ForegroundColor Cyan
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
Write-Host "Failed to send email: $($_.Exception.Message)" -ForegroundColor Yellow
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "`n---------------------------------------------"
|
||||||
|
Write-Host "Job: $JobName | ExitCode: $exitCode | Status: $(if ($isSuccess -eq 0) { 'SUCCESS' } else { 'FAILED' })"
|
||||||
|
Write-Host "---------------------------------------------`n"
|
||||||
|
|
||||||
|
exit $isSuccess
|
||||||
15
SQLAgent/03_Prod/5_Deployment/Deploy_DEVL_to_TEST.sql
Normal file
15
SQLAgent/03_Prod/5_Deployment/Deploy_DEVL_to_TEST.sql
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
DECLARE @SrcDB NVARCHAR(128) = 'DevlDUTASJobSchedule';
|
||||||
|
DECLARE @NewDB NVARCHAR(128) = 'TestDUTASJobSchedule';
|
||||||
|
DECLARE @Backup NVARCHAR(260) = '\\DOES-RAINVM-DEV\E$\Neeraj\SqlAgent\Backup\' + @SrcDB + '.bak';
|
||||||
|
|
||||||
|
-- Backup Source
|
||||||
|
BACKUP DATABASE @SrcDB TO DISK = @Backup WITH INIT, COMPRESSION;
|
||||||
|
|
||||||
|
-- Restore as Target
|
||||||
|
DECLARE @SQL NVARCHAR(MAX) = '
|
||||||
|
RESTORE DATABASE [' + @NewDB + ']
|
||||||
|
FROM DISK = N''' + @Backup + '''
|
||||||
|
WITH MOVE N''' + @SrcDB + ''' TO N''\\DOES-RAINVM-DEV\E$\SQLData\' + @NewDB + '.mdf'',
|
||||||
|
MOVE N''' + @SrcDB + '_log'' TO N''\\DOES-RAINVM-DEV\E$\SQLLogs\' + @NewDB + '_log.ldf'',
|
||||||
|
REPLACE;';
|
||||||
|
EXEC(@SQL);
|
||||||
15
SQLAgent/03_Prod/5_Deployment/Deploy_TEST_to_PROD.sql
Normal file
15
SQLAgent/03_Prod/5_Deployment/Deploy_TEST_to_PROD.sql
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
DECLARE @SrcDB NVARCHAR(128) = 'TestDUTASJobSchedule';
|
||||||
|
DECLARE @NewDB NVARCHAR(128) = 'ProdDUTASJobSchedule';
|
||||||
|
DECLARE @Backup NVARCHAR(260) = '\\DOES-RAINVM-DEV\E$\Neeraj\SqlAgent\Backup\' + @SrcDB + '.bak';
|
||||||
|
|
||||||
|
-- Backup Source
|
||||||
|
BACKUP DATABASE @SrcDB TO DISK = @Backup WITH INIT, COMPRESSION;
|
||||||
|
|
||||||
|
-- Restore as Target
|
||||||
|
DECLARE @SQL NVARCHAR(MAX) = '
|
||||||
|
RESTORE DATABASE [' + @NewDB + ']
|
||||||
|
FROM DISK = N''' + @Backup + '''
|
||||||
|
WITH MOVE N''' + @SrcDB + ''' TO N''\\DOES-RAINVM-DEV\E$\SQLData\' + @NewDB + '.mdf'',
|
||||||
|
MOVE N''' + @SrcDB + '_log'' TO N''\\DOES-RAINVM-DEV\E$\SQLLogs\' + @NewDB + '_log.ldf'',
|
||||||
|
REPLACE;';
|
||||||
|
EXEC(@SQL);
|
||||||
BIN
SQLAgent/Backup/DevlDUTASJobSchedule.bak
Normal file
BIN
SQLAgent/Backup/DevlDUTASJobSchedule.bak
Normal file
Binary file not shown.
BIN
SQLAgent/Backup/ProdDUTASJobSchedule.bak
Normal file
BIN
SQLAgent/Backup/ProdDUTASJobSchedule.bak
Normal file
Binary file not shown.
204
SQLAgent/Backup/SQLAgentJobs_20251005_111105.txt
Normal file
204
SQLAgent/Backup/SQLAgentJobs_20251005_111105.txt
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
job_id originating_server name enabled description start_step_id category owner notify_level_eventlog notify_level_email notify_level_netsend notify_level_page notify_email_operator notify_netsend_operator notify_page_operator delete_level date_created date_modified version_number last_run_date last_run_time last_run_outcome next_run_date next_run_time next_run_schedule_id current_execution_status current_execution_step current_retry_attempt has_step has_schedule has_target type
|
||||||
|
------------------------------------ -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- ------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- --------------------- ------------------ -------------------- ----------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- ------------ ----------------------- ----------------------- -------------- ------------- ------------- ---------------- ------------- ------------- -------------------- ------------------------ ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --------------------- ----------- ------------ ----------- -----------
|
||||||
|
C5285419-16D3-4308-8B43-0438F600AF69 DOES-DUTAS-SQL1 DEVL_WEEKLY_DTSBX470 1 Auto-generated DUTAS job. 1 DEVL_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:29:29.843 2025-10-05 03:29:29.853 5 0 0 5 20251010 70000 126 4 0 (unknown) 0 3 1 1 1
|
||||||
|
F41BDB19-561A-4F5B-A6A1-04EB6367E497 DOES-DUTAS-SQL1 TEST_DAILY_DTSFRAUD 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.023 2025-10-05 10:00:27.037 5 0 0 5 20251006 163000 185 4 0 (unknown) 0 3 1 1 1
|
||||||
|
46559055-DE56-4D5B-8CF0-05175ADDD10D DOES-DUTAS-SQL1 TEST_WEEKLY_DTSGSID0 1 Auto-generated DUTAS job. 1 TEST_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:02:05.777 2025-10-05 10:02:05.783 5 0 0 5 20251011 60000 213 4 0 (unknown) 0 3 1 1 1
|
||||||
|
7B375D13-EB25-4EDF-B4D4-06287B51C648 DOES-DUTAS-SQL1 DEVL_DAILY_DTSGCHKS 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.467 2025-10-04 14:22:42.473 5 0 0 5 20251006 140500 88 4 0 (unknown) 0 3 1 1 1
|
||||||
|
B8DC1ED8-5D9A-4520-B32F-066E3A5BD575 DOES-DUTAS-SQL1 TEST_WEEKLY_DTSBX202 1 Auto-generated DUTAS job. 1 TEST_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:02:05.813 2025-10-05 10:02:05.820 5 0 0 5 20251011 70000 215 4 0 (unknown) 0 3 1 1 1
|
||||||
|
36036DFD-68AA-437B-A515-06770374836E DOES-DUTAS-SQL1 PROD_DAILY_DTSBX303 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.913 2025-10-05 10:20:53.923 5 0 0 5 20251006 100000 254 4 0 (unknown) 0 3 1 1 1
|
||||||
|
10640615-EDDC-4B35-B02C-06C55D26061F DOES-DUTAS-SQL1 DEVL_MONTHLY_DTSBX460 1 Auto-generated DUTAS job. 1 DEVL_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:45:28.520 2025-10-05 06:20:09.923 7 0 0 5 20251031 193500 163 4 0 (unknown) 0 3 1 1 1
|
||||||
|
9FAC1A72-B0C8-489C-B5D5-07217CD147DE DOES-DUTAS-SQL1 TEST_DAILY_DTSBX432 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.843 2025-10-05 10:00:26.853 5 0 0 5 20251006 83000 175 4 0 (unknown) 0 3 1 1 1
|
||||||
|
9A1FAB25-31E6-4DA2-99D8-0869AA87CD71 DOES-DUTAS-SQL1 PROD_DAILY_DTSBXREG 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.100 2025-10-05 10:20:54.107 5 0 0 5 20251006 170000 265 4 0 (unknown) 0 3 1 1 1
|
||||||
|
FC42676D-FF59-4407-9700-096ACC1FC9D6 DOES-DUTAS-SQL1 PROD_DAILY_DESBD427 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.400 2025-10-05 10:20:54.410 5 0 0 5 20251006 190500 284 4 0 (unknown) 0 3 1 1 1
|
||||||
|
75D0C974-87E8-47D9-8117-0D3ECEE17C92 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBE405 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:43.107 2025-10-04 14:22:43.120 5 0 0 5 20251006 201500 118 4 0 (unknown) 0 3 1 1 1
|
||||||
|
4166D5ED-0C89-430E-8E7C-0E4F6BBD2B92 DOES-DUTAS-SQL1 DEVL_MONTHLY_DTSRQ442 1 Auto-generated DUTAS job. 1 DEVL_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:45:28.500 2025-10-05 06:20:09.910 7 0 0 5 20251031 193700 162 4 0 (unknown) 0 3 1 1 1
|
||||||
|
4151B361-8298-429F-B5F2-0EA8586AFCED DOES-DUTAS-SQL1 DEVL_WEEKLY_DTSGSID1 1 Auto-generated DUTAS job. 1 DEVL_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:29:29.780 2025-10-05 03:29:29.790 5 20251005 61500 1 20251011 61500 123 4 0 (unknown) 0 3 1 1 1
|
||||||
|
BD836BC8-62AC-4843-9AF4-10668B37079D DOES-DUTAS-SQL1 DEVL_DAILY_DTSMIN01 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.983 2025-10-04 14:22:42.993 5 0 0 5 20251006 182000 112 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A1FF7B17-B5C5-4650-B3CC-12760723DD75 DOES-DUTAS-SQL1 DEVL_DAILY_DTSFRAUD 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.580 2025-10-04 14:22:42.590 5 0 0 5 20251006 163000 94 4 0 (unknown) 0 3 1 1 1
|
||||||
|
877006E2-1CCE-4BF4-8540-129047A1445A DOES-DUTAS-SQL1 PROD_DAILY_DTSW4WGE 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.290 2025-10-05 10:20:54.297 5 0 0 5 20251006 181500 277 4 0 (unknown) 0 3 1 1 1
|
||||||
|
10D59D09-F520-401B-AB55-12E471D9EB65 DOES-DUTAS-SQL1 PROD_DAILY_DTSRACHD 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.067 2025-10-05 10:20:54.073 5 0 0 5 20251006 170000 263 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A5E7B125-A9DC-4519-8CEC-1334892572E7 DOES-DUTAS-SQL1 TEST_DAILY_DTSDX145 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.973 2025-10-05 10:00:26.980 5 0 0 5 20251006 160500 182 4 0 (unknown) 0 3 1 1 1
|
||||||
|
952F9F6E-AF2F-4249-899E-1389F391B2EA DOES-DUTAS-SQL1 PROD_DAILY_DTSGACHD 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.897 2025-10-05 10:20:53.903 5 0 0 5 20251006 90000 253 4 0 (unknown) 0 3 1 1 1
|
||||||
|
B3A717E6-40E5-4F00-8285-150A033977ED DOES-DUTAS-SQL1 PROD_DAILY_DTSPX148 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.227 2025-10-05 10:20:54.233 5 0 0 5 20251006 180500 273 4 0 (unknown) 0 3 1 1 1
|
||||||
|
88FE1C54-AD30-4D15-8999-16607FC59625 DOES-DUTAS-SQL1 DEVL_WEEKLY_DTSRQ444 1 Auto-generated DUTAS job. 1 DEVL_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:29:29.950 2025-10-05 03:29:29.963 5 0 0 5 20251006 70000 131 4 0 (unknown) 0 3 1 1 1
|
||||||
|
156CE1A0-80A6-409A-BE02-169899F5BFB5 DOES-DUTAS-SQL1 PROD_WEEKLY_DTSPDAY7 1 Auto-generated DUTAS job. 1 PROD_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:23:57.500 2025-10-05 10:23:57.510 5 0 0 5 20251010 191000 296 4 0 (unknown) 0 3 1 1 1
|
||||||
|
B732745C-2D18-46AF-BA03-170972AED63E DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX215 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.237 2025-10-04 14:22:42.243 5 0 0 5 20251006 40000 76 4 0 (unknown) 0 3 1 1 1
|
||||||
|
AA1F0502-FFE6-488C-9554-177E7A8CF368 DOES-DUTAS-SQL1 TEST_DAILY_DTSGSID0 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.760 2025-10-05 10:00:26.770 5 0 0 5 20251006 60000 169 4 0 (unknown) 0 3 1 1 1
|
||||||
|
41B61ECC-2E31-49D7-BB5B-1890929AF707 DOES-DUTAS-SQL1 PROD_MONTHLY_DTSCHGDC 1 Auto-generated DUTAS job. 1 PROD_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:24:16.440 2025-10-05 10:25:24.447 6 0 0 5 20251103 130000 320 4 0 (unknown) 0 3 1 1 1
|
||||||
|
1D2F731D-A86A-4D95-B699-191D1073DF7F DOES-DUTAS-SQL1 PROD_DAILY_DTSGSID9 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.320 2025-10-05 10:20:54.327 5 0 0 5 20251006 181500 279 4 0 (unknown) 0 3 1 1 1
|
||||||
|
4A62252E-DB9A-457A-B844-19FBFB47820C DOES-DUTAS-SQL1 TEST_DAILY_DTSPACHD 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.220 2025-10-05 10:00:27.227 5 0 0 5 20251006 180000 195 4 0 (unknown) 0 3 1 1 1
|
||||||
|
6FF64E7A-C9A7-49DF-9DD1-1A7996133746 DOES-DUTAS-SQL1 PROD_DAILY_DTSBX430 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.117 2025-10-05 10:20:54.123 5 0 0 5 20251006 170000 266 4 0 (unknown) 0 3 1 1 1
|
||||||
|
D67FFB42-D7E6-47D0-BD0D-2077460E0447 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX451 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.757 2025-10-04 14:22:42.767 5 0 0 5 20251006 171500 103 4 0 (unknown) 0 3 1 1 1
|
||||||
|
90235ECB-9DA9-45B6-899E-22983BBAD136 DOES-DUTAS-SQL1 TEST_MONTHLY_DTSCHGDC 1 Auto-generated DUTAS job. 1 TEST_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:03:08.100 2025-10-05 10:04:57.593 6 0 0 5 20251103 130000 243 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A7DD02D5-6437-4B89-8BF8-26A7D59E70EE DOES-DUTAS-SQL1 TEST_MONTHLY_DTSVRSTR 1 Auto-generated DUTAS job. 1 TEST_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:03:08.027 2025-10-05 10:04:57.530 6 0 0 5 20251031 193000 239 4 0 (unknown) 0 3 1 1 1
|
||||||
|
615267B0-16EC-4E71-B37B-27594609F693 DOES-DUTAS-SQL1 TEST_WEEKLY_DTSGSID1 1 Auto-generated DUTAS job. 1 TEST_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:02:05.793 2025-10-05 10:02:05.803 5 0 0 5 20251011 61500 214 4 0 (unknown) 0 3 1 1 1
|
||||||
|
C714EDC5-85B3-4ADA-A31A-2BABC83C2D7E DOES-DUTAS-SQL1 PROD_DAILY_DTSBX450 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.180 2025-10-05 10:20:54.187 5 0 0 5 20251006 171500 270 4 0 (unknown) 0 3 1 1 1
|
||||||
|
97BBB790-5D35-4C88-AFDB-2BCF2AD2696D DOES-DUTAS-SQL1 DEVL_MONTHLY_DTSVBKUP 1 Auto-generated DUTAS job. 1 DEVL_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:45:28.460 2025-10-05 06:20:09.890 7 0 0 5 20251031 192600 160 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A1243350-764D-4658-B624-305D2C1D18DD DOES-DUTAS-SQL1 DEVL_DAILY_DTSGACHD 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.407 2025-10-04 14:22:42.417 5 0 0 5 20251006 90000 85 4 0 (unknown) 0 3 1 1 1
|
||||||
|
2CFD84FC-3C83-4440-9BED-305F9ED14F83 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX430 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.660 2025-10-04 14:22:42.670 5 0 0 5 20251006 170000 98 4 0 (unknown) 0 3 1 1 1
|
||||||
|
EBC21AEE-1002-40E5-A075-345FE3CB639E DOES-DUTAS-SQL1 DEVL_DAILY_DTSPX148 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.797 2025-10-04 14:22:42.807 5 0 0 5 20251006 180500 105 4 0 (unknown) 0 3 1 1 1
|
||||||
|
3E9963DC-1E32-480E-860A-3517B5624FB1 DOES-DUTAS-SQL1 TEST_DAILY_DTSW4WGE 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.303 2025-10-05 10:00:27.310 5 0 0 5 20251006 181500 200 4 0 (unknown) 0 3 1 1 1
|
||||||
|
6E95D0CC-02DB-4102-9696-35F215A41A17 DOES-DUTAS-SQL1 PROD_MONTHLY_DTSCHGVB 1 Auto-generated DUTAS job. 1 PROD_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:24:16.310 2025-10-05 10:25:24.360 6 0 0 5 20251031 192600 313 4 0 (unknown) 0 3 1 1 1
|
||||||
|
2A9CF2A5-A9F1-49E6-BE2A-35F3B9D76F4E DOES-DUTAS-SQL1 DEVL_DAILY_DTSGSID9 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.940 2025-10-04 14:22:42.957 5 0 0 5 20251006 181500 111 4 0 (unknown) 0 3 1 1 1
|
||||||
|
064444A3-32FA-4614-9FB6-3606A62CCBAA DOES-DUTAS-SQL1 TEST_MONTHLY_DTSRQ442 1 Auto-generated DUTAS job. 1 TEST_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:03:08.043 2025-10-05 10:04:57.547 6 0 0 5 20251031 193700 240 4 0 (unknown) 0 3 1 1 1
|
||||||
|
536C71EC-0A27-4248-944B-3997574FB1B1 DOES-DUTAS-SQL1 PROD_WEEKLY_DTSBXREJ 1 Auto-generated DUTAS job. 1 PROD_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:23:57.487 2025-10-05 10:23:57.493 5 0 0 5 20251007 170000 295 4 0 (unknown) 0 3 1 1 1
|
||||||
|
550FC0D7-8C25-427E-97C9-3A005F043A11 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBXREL 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.717 2025-10-04 14:22:42.727 5 0 0 5 20251006 170000 101 4 0 (unknown) 0 3 1 1 1
|
||||||
|
B7FF8420-ABFB-4780-8152-3B4FF66F551A DOES-DUTAS-SQL1 TEST_MONTHLY_DTSVBKUP 1 Auto-generated DUTAS job. 1 TEST_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:03:08.007 2025-10-05 10:04:57.517 6 0 0 5 20251031 192600 238 4 0 (unknown) 0 3 1 1 1
|
||||||
|
6C41D627-1772-4F91-BB1E-3B6941E07C59 DOES-DUTAS-SQL1 TEST_DAILY_DTSBX215 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.727 2025-10-05 10:00:26.733 5 0 0 5 20251006 40000 167 4 0 (unknown) 0 3 1 1 1
|
||||||
|
F1C6A0CF-EB0E-4A92-980C-3C0A2995D2D9 DOES-DUTAS-SQL1 PROD_WEEKLY_DTSBX122 1 Auto-generated DUTAS job. 1 PROD_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:23:57.517 2025-10-05 10:23:57.523 5 0 0 5 20251010 191400 297 4 0 (unknown) 0 3 1 1 1
|
||||||
|
BFAB8693-5290-4893-8BC5-3DD7C801A568 DOES-DUTAS-SQL1 TEST_WEEKLY_DTSFT202 1 Auto-generated DUTAS job. 1 TEST_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:02:05.830 2025-10-05 10:02:05.840 5 0 0 5 20251011 80000 216 4 0 (unknown) 0 3 1 1 1
|
||||||
|
AA32CF9E-1DF8-4601-A4B7-4264EB2CC986 DOES-DUTAS-SQL1 TEST_DAILY_DTSBXACH 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.067 2025-10-05 10:00:27.077 5 0 0 5 20251006 170000 187 4 0 (unknown) 0 3 1 1 1
|
||||||
|
0598CC66-AB07-4516-9F95-441543A5902F DOES-DUTAS-SQL1 TEST_DAILY_DTSMIN02 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.370 2025-10-05 10:00:27.377 5 0 0 5 20251006 182000 204 4 0 (unknown) 0 3 1 1 1
|
||||||
|
F099041E-0708-4E9C-B0B0-44584AFFDC18 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX202 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.350 2025-10-04 14:22:42.360 5 0 0 5 20251006 70000 82 4 0 (unknown) 0 3 1 1 1
|
||||||
|
9CBDDBEB-7079-46D9-8500-45D457D24233 DOES-DUTAS-SQL1 DEVL_DAILY_DTSGPAYT 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.503 2025-10-04 14:22:42.513 5 0 0 5 20251006 141000 90 4 0 (unknown) 0 3 1 1 1
|
||||||
|
CDDA1572-745A-41FA-8FB6-4667D12A48E1 DOES-DUTAS-SQL1 TEST_DAILY_DTSRQ335 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.487 2025-10-05 10:00:27.493 5 0 0 5 20251006 210000 211 4 0 (unknown) 0 3 1 1 1
|
||||||
|
B6E610CB-68DB-45BC-958F-46FFBE272859 DOES-DUTAS-SQL1 TEST_DAILY_DTSBX626 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.123 2025-10-05 10:00:27.133 5 0 0 5 20251006 170000 190 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A9E3475E-6FD2-4878-980B-480B2E11AD0F DOES-DUTAS-SQL1 PROD_MONTHLY_DTSCHGVR 1 Auto-generated DUTAS job. 1 PROD_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:24:16.327 2025-10-05 10:25:24.370 6 0 0 5 20251031 192700 314 4 0 (unknown) 0 3 1 1 1
|
||||||
|
2071BF6E-B59B-45DA-9022-48B9184B15F9 DOES-DUTAS-SQL1 TEST_DAILY_DTSGACHD 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.863 2025-10-05 10:00:26.870 5 0 0 5 20251006 90000 176 4 0 (unknown) 0 3 1 1 1
|
||||||
|
75E64E53-3DB8-4F41-A4BA-48F06C1F6AC4 DOES-DUTAS-SQL1 TEST_WEEKLY_DTSRQ511 1 Auto-generated DUTAS job. 1 TEST_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:02:05.930 2025-10-05 10:02:05.937 5 0 0 5 20251010 191400 221 4 0 (unknown) 0 3 1 1 1
|
||||||
|
728A27E6-B743-4AB4-973C-49EDD1241C32 DOES-DUTAS-SQL1 DEVL_MONTHLY_DTSVRSTR 1 Auto-generated DUTAS job. 1 DEVL_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:45:28.480 2025-10-05 06:20:09.900 7 0 0 5 20251031 193000 161 4 0 (unknown) 0 3 1 1 1
|
||||||
|
5FC8680E-4487-4624-B58A-4C53F10FE239 DOES-DUTAS-SQL1 TEST_DAILY_DTSRQ202 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.793 2025-10-05 10:00:26.803 5 0 0 5 20251006 61000 171 4 0 (unknown) 0 3 1 1 1
|
||||||
|
53C2E3E1-0310-4F34-9C1E-4EB22327659A DOES-DUTAS-SQL1 DEVL_WEEKLY_DTSBX122 1 Auto-generated DUTAS job. 1 DEVL_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:29:29.907 2025-10-05 03:29:29.917 5 0 0 5 20251010 191400 129 4 0 (unknown) 0 3 1 1 1
|
||||||
|
BF3153E4-0BB7-45EC-BA76-4F127C85C39B DOES-DUTAS-SQL1 DEVL_DAILY_DTSGSID0 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.273 2025-10-04 14:22:42.283 5 0 0 5 20251006 60000 78 4 0 (unknown) 0 3 1 1 1
|
||||||
|
B8E98EBF-3E3E-4852-BC6B-4F4A5482B8D6 DOES-DUTAS-SQL1 DEVL_WEEKLY_DTSBX202 1 Auto-generated DUTAS job. 1 DEVL_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:29:29.803 2025-10-05 03:29:29.813 5 20251005 70000 1 20251011 70000 124 4 0 (unknown) 0 3 1 1 1
|
||||||
|
AB80935A-7923-4884-BB42-4F6C2694E2CB DOES-DUTAS-SQL1 PROD_WEEKLY_DTSBX202 1 Auto-generated DUTAS job. 1 PROD_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:23:57.440 2025-10-05 10:23:57.447 5 0 0 5 20251011 70000 292 4 0 (unknown) 0 3 1 1 1
|
||||||
|
86BF9853-335A-42E9-91E8-4F72DA5EC27E DOES-DUTAS-SQL1 TEST_MONTHLY_DTSBX460 1 Auto-generated DUTAS job. 1 TEST_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:03:08.060 2025-10-05 10:04:57.563 6 0 0 5 20251031 193500 241 4 0 (unknown) 0 3 1 1 1
|
||||||
|
FA885530-0AA4-4880-BE06-50E74FB7BA37 DOES-DUTAS-SQL1 DEVL_MONTHLY_DTSPMON1 1 Auto-generated DUTAS job. 1 DEVL_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:45:28.400 2025-10-05 06:20:09.850 7 0 0 5 20251031 191500 157 4 0 (unknown) 0 3 1 1 1
|
||||||
|
B5451A59-1B3E-4C64-B025-51537E38ED7B DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX405 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:43.130 2025-10-04 14:22:43.140 5 0 0 5 20251006 201500 119 4 0 (unknown) 0 3 1 1 1
|
||||||
|
E71803B2-EC19-4463-9D79-5298F6031950 DOES-DUTAS-SQL1 TEST_WEEKLY_DTSBX470 1 Auto-generated DUTAS job. 1 TEST_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:02:05.847 2025-10-05 10:02:05.857 5 0 0 5 20251010 70000 217 4 0 (unknown) 0 3 1 1 1
|
||||||
|
11033AFE-6BED-4A1C-9C9B-54103274B43E DOES-DUTAS-SQL1 DEVL_DAILY_DTSBXREG 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.640 2025-10-04 14:22:42.650 5 0 0 5 20251006 170000 97 4 0 (unknown) 0 3 1 1 1
|
||||||
|
C7E9FDB1-AF13-4805-87B3-5424CD84B125 DOES-DUTAS-SQL1 TEST_DAILY_DTSPDAY1 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.287 2025-10-05 10:00:27.293 5 0 0 5 20251006 181000 199 4 0 (unknown) 0 3 1 1 1
|
||||||
|
34381A3E-ECB3-4476-ADF5-54E116E629EA DOES-DUTAS-SQL1 PROD_DAILY_DTSBXPFL 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.383 2025-10-05 10:20:54.393 5 0 0 5 20251006 190000 283 4 0 (unknown) 0 3 1 1 1
|
||||||
|
C6CE495A-578E-456E-8B5E-5766D858F384 DOES-DUTAS-SQL1 TEST_DAILY_DTSBXPFL 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.400 2025-10-05 10:00:27.410 5 0 0 5 20251006 190000 206 4 0 (unknown) 0 3 1 1 1
|
||||||
|
0B30D674-265B-4514-A18C-57EDD73D4BEC DOES-DUTAS-SQL1 TEST_MONTHLY_DTSCHGVB 1 Auto-generated DUTAS job. 1 TEST_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:03:07.970 2025-10-05 10:04:57.487 6 0 0 5 20251031 192600 236 4 0 (unknown) 0 3 1 1 1
|
||||||
|
83A7137E-908C-45C4-B174-58EB82001E0B DOES-DUTAS-SQL1 TEST_DAILY_DTSBX305 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.743 2025-10-05 10:00:26.753 5 0 0 5 20251006 40000 168 4 0 (unknown) 0 3 1 1 1
|
||||||
|
2434F3D8-8C81-4E94-B339-5AF863371935 DOES-DUTAS-SQL1 DEVL_MONTHLY_DTSCHGVB 1 Auto-generated DUTAS job. 1 DEVL_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:45:28.420 2025-10-05 06:20:09.863 7 0 0 5 20251031 192600 158 4 0 (unknown) 0 3 1 1 1
|
||||||
|
56C1727F-85ED-4FE0-87E3-5D1E9CCA6591 DOES-DUTAS-SQL1 PROD_DAILY_DTSGPAYT 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.980 2025-10-05 10:20:53.990 5 0 0 5 20251006 141000 258 4 0 (unknown) 0 3 1 1 1
|
||||||
|
BC170C37-D12A-4904-9CB1-5DB22222B102 DOES-DUTAS-SQL1 PROD_WEEKLY_DTSRQ444 1 Auto-generated DUTAS job. 1 PROD_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:23:57.550 2025-10-05 10:23:57.557 5 0 0 5 20251006 70000 299 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A5B2D39C-8510-4C5E-8739-607974BA4CBB DOES-DUTAS-SQL1 PROD_DAILY_DTSBX427 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.260 2025-10-05 10:20:54.267 5 0 0 5 20251006 180700 275 4 0 (unknown) 0 3 1 1 1
|
||||||
|
876ABBCE-EE90-47EB-ACC5-61F1D5FD0519 DOES-DUTAS-SQL1 TEST_DAILY_DTSBX430 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.107 2025-10-05 10:00:27.113 5 0 0 5 20251006 170000 189 4 0 (unknown) 0 3 1 1 1
|
||||||
|
C8C3E42A-0243-492D-A783-6653A08A0368 DOES-DUTAS-SQL1 PROD_DAILY_DTSRQ202 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.790 2025-10-05 10:20:53.800 5 0 0 5 20251006 61000 248 4 0 (unknown) 0 3 1 1 1
|
||||||
|
7933F217-74B9-4C4A-8AF3-67839C7EDF84 DOES-DUTAS-SQL1 TEST_MONTHLY_DTSPMON1 1 Auto-generated DUTAS job. 1 TEST_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:03:07.953 2025-10-05 10:04:57.470 6 0 0 5 20251031 191500 235 4 0 (unknown) 0 3 1 1 1
|
||||||
|
F4A097BF-AC22-492A-9A37-6909EC1DA463 DOES-DUTAS-SQL1 TEST_DAILY_DTSGCHKS 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.923 2025-10-05 10:00:26.930 5 0 0 5 20251006 140500 179 4 0 (unknown) 0 3 1 1 1
|
||||||
|
8B309837-1895-4100-A4E2-6988EC28E14E DOES-DUTAS-SQL1 DEVL_WEEKLY_DTSFT202 1 Auto-generated DUTAS job. 1 DEVL_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:29:29.823 2025-10-05 03:29:29.833 5 20251005 80000 1 20251011 80000 125 4 0 (unknown) 0 3 1 1 1
|
||||||
|
36EC258B-A54D-4125-966F-6A2A0F823CF4 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX629 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.543 2025-10-04 14:22:42.553 5 0 0 5 20251006 161500 92 4 0 (unknown) 0 3 1 1 1
|
||||||
|
BA19B6C7-E468-4CD9-ABF0-6A87CCB1F812 DOES-DUTAS-SQL1 PROD_DAILY_DTSPACHD 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.210 2025-10-05 10:20:54.220 5 0 0 5 20251006 180000 272 4 0 (unknown) 0 3 1 1 1
|
||||||
|
460B5F6E-510A-47AB-9A94-6D41D2DF1A82 DOES-DUTAS-SQL1 PROD_DAILY_DTSBX215 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.737 2025-10-05 10:20:53.747 5 0 0 5 20251006 40000 244 4 0 (unknown) 0 3 1 1 1
|
||||||
|
099E2E67-96C4-4B6C-989E-6D55BAD75880 DOES-DUTAS-SQL1 DEVL_DAILY_DTSRQ202 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.310 2025-10-04 14:22:42.320 5 0 0 5 20251006 61000 80 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A7459ABA-5B05-4516-80B5-6D8EFEDDF734 DOES-DUTAS-SQL1 TEST_MONTHLY_DTSCHGVR 1 Auto-generated DUTAS job. 1 TEST_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:03:07.987 2025-10-05 10:04:57.503 6 0 0 5 20251031 192700 237 4 0 (unknown) 0 3 1 1 1
|
||||||
|
283A4108-D148-4EE2-A32D-6E056D95E07A DOES-DUTAS-SQL1 TEST_MONTHLY_DTSRQ513 1 Auto-generated DUTAS job. 1 TEST_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:03:08.080 2025-10-05 10:04:57.580 6 0 0 5 20251031 193700 242 4 0 (unknown) 0 3 1 1 1
|
||||||
|
7AA2F36D-54E4-4A0A-83AE-6F42A5C8A975 DOES-DUTAS-SQL1 PROD_DAILY_DTSGSID1 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.807 2025-10-05 10:20:53.817 5 0 0 5 20251006 61500 249 4 0 (unknown) 0 3 1 1 1
|
||||||
|
63DA7119-1F6D-4F10-B353-7461EB072124 DOES-DUTAS-SQL1 DEVL_DAILY_DTSRQ459 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:43.023 2025-10-04 14:22:43.033 5 0 0 5 20251006 190000 114 4 0 (unknown) 0 3 1 1 1
|
||||||
|
1AF63AA4-31A1-4A2D-A428-7533078BD5B3 DOES-DUTAS-SQL1 DEVL_WEEKLY_DTSPDAY7 1 Auto-generated DUTAS job. 1 DEVL_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:29:29.887 2025-10-05 03:29:29.897 5 0 0 5 20251010 191000 128 4 0 (unknown) 0 3 1 1 1
|
||||||
|
67A5BAB9-29F5-4CA7-A921-755495947167 DOES-DUTAS-SQL1 DEVL_WEEKLY_DTSBXREJ 1 Auto-generated DUTAS job. 1 DEVL_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:29:29.867 2025-10-05 03:29:29.877 5 0 0 5 20251007 170000 127 4 0 (unknown) 0 3 1 1 1
|
||||||
|
0D2FF6AC-B6E2-4EF7-82D6-75F10FB791C9 DOES-DUTAS-SQL1 DEVL_DAILY_DTSPACHD 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.777 2025-10-04 14:22:42.787 5 0 0 5 20251006 180000 104 4 0 (unknown) 0 3 1 1 1
|
||||||
|
59776EAA-3C33-4921-BD61-7B16DFB938FD DOES-DUTAS-SQL1 TEST_DAILY_DTSBX601 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.507 2025-10-05 10:00:27.513 5 0 0 5 20251006 212500 212 4 0 (unknown) 0 3 1 1 1
|
||||||
|
9D9FA4F9-AB12-4CF8-9999-7BCC6D59B9A6 DOES-DUTAS-SQL1 DEVL_DAILY_DTSDX145 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.523 2025-10-04 14:22:42.533 5 0 0 5 20251006 160500 91 4 0 (unknown) 0 3 1 1 1
|
||||||
|
930FECCB-BCF3-4539-94B1-7CCD8B6F77CD DOES-DUTAS-SQL1 DEVL_MONTHLY_DTSRQ414 1 Auto-generated DUTAS job. 1 DEVL_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:45:28.383 2025-10-05 06:20:09.837 7 0 0 5 20251103 181500 156 4 0 (unknown) 0 3 1 1 1
|
||||||
|
5294869A-9D5E-4BEB-B3A5-8021B1199292 DOES-DUTAS-SQL1 PROD_DAILY_DTSRQ325 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.243 2025-10-05 10:20:54.250 5 0 0 5 20251006 180500 274 4 0 (unknown) 0 3 1 1 1
|
||||||
|
C7FFBAB4-B6A1-4A9A-A656-8413086F4376 DOES-DUTAS-SQL1 PROD_DAILY_DTSBX432 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.860 2025-10-05 10:20:53.867 5 0 0 5 20251006 83000 252 4 0 (unknown) 0 3 1 1 1
|
||||||
|
73DBC82A-143E-4758-B974-84C0C3629C72 DOES-DUTAS-SQL1 DEVL_MONTHLY_DTSRQ513 1 Auto-generated DUTAS job. 1 DEVL_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:45:28.537 2025-10-05 06:20:09.933 7 0 0 5 20251031 193700 164 4 0 (unknown) 0 3 1 1 1
|
||||||
|
F7E9BFCE-5129-4E96-9877-856DD8FE093B DOES-DUTAS-SQL1 TEST_DAILY_DTSBX202 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.827 2025-10-05 10:00:26.837 5 0 0 5 20251006 70000 173 4 0 (unknown) 0 3 1 1 1
|
||||||
|
C84E56C2-29D2-493F-86FC-87B4FF6E4C9F DOES-DUTAS-SQL1 PROD_DAILY_DTSFT202 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.843 2025-10-05 10:20:53.850 5 0 0 5 20251006 80000 251 4 0 (unknown) 0 3 1 1 1
|
||||||
|
499AC167-D34E-42C0-AA2E-88A0CC6609A9 DOES-DUTAS-SQL1 TEST_DAILY_DTSRQ325 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.253 2025-10-05 10:00:27.260 5 0 0 5 20251006 180500 197 4 0 (unknown) 0 3 1 1 1
|
||||||
|
73055B25-67C5-4EED-B82D-89514ED2C146 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX601 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:43.170 2025-10-04 14:22:43.183 5 0 0 5 20251006 212500 121 4 0 (unknown) 0 3 1 1 1
|
||||||
|
153AC23E-6906-414B-ACB2-8AD030903915 DOES-DUTAS-SQL1 PROD_DAILY_DTSMIN02 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.353 2025-10-05 10:20:54.360 5 0 0 5 20251006 182000 281 4 0 (unknown) 0 3 1 1 1
|
||||||
|
0D22EC1D-31F3-4197-ACBA-8ADE7CED810F DOES-DUTAS-SQL1 DEVL_DAILY_DTSRQ325 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.817 2025-10-04 14:22:42.827 5 0 0 5 20251006 180500 106 4 0 (unknown) 0 3 1 1 1
|
||||||
|
9F826BEC-27C0-42C2-9D4B-8BB7B44AA9A4 DOES-DUTAS-SQL1 PROD_WEEKLY_DTSRQ126 1 Auto-generated DUTAS job. 1 PROD_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:23:57.567 2025-10-05 10:23:57.573 5 0 0 5 20251006 90000 300 4 0 (unknown) 0 3 1 1 1
|
||||||
|
927594F0-F42E-4DA8-91F2-8D0AC2F32F3E DOES-DUTAS-SQL1 TEST_WEEKLY_DTSBXREJ 1 Auto-generated DUTAS job. 1 TEST_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:02:05.863 2025-10-05 10:02:05.870 5 0 0 5 20251007 170000 218 4 0 (unknown) 0 3 1 1 1
|
||||||
|
AF9148D2-0143-4F5E-88F7-8D74D650CA17 DOES-DUTAS-SQL1 TEST_DAILY_DTSGSID9 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.333 2025-10-05 10:00:27.340 5 0 0 5 20251006 181500 202 4 0 (unknown) 0 3 1 1 1
|
||||||
|
1D4A8DA5-DA40-46B6-B9CE-8D9C26FE013C DOES-DUTAS-SQL1 DEVL_DAILY_DTSBXPFL 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:43.043 2025-10-04 14:22:43.057 5 0 0 5 20251006 190000 115 4 0 (unknown) 0 3 1 1 1
|
||||||
|
CC754709-D89F-44DC-9139-8E387CAE8EBE DOES-DUTAS-SQL1 syspolicy_purge_history 1 No description available. 1 [Uncategorized (Local)] sa 0 0 0 0 (unknown) (unknown) (unknown) 0 2025-07-16 12:54:00.540 2025-07-16 12:54:00.923 5 20251005 20000 1 20251006 20000 8 4 0 (unknown) 0 3 1 1 1
|
||||||
|
54AD7384-17E0-4ECC-9D43-8E3D6005C647 DOES-DUTAS-SQL1 PROD_DAILY_DTSRQ335 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.467 2025-10-05 10:20:54.473 5 0 0 5 20251006 210000 288 4 0 (unknown) 0 3 1 1 1
|
||||||
|
8BA0847A-C8BF-4B6F-B645-8EE2EE9DFB00 DOES-DUTAS-SQL1 DEVL_WEEKLY_DTSRQ511 1 Auto-generated DUTAS job. 1 DEVL_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:29:29.930 2025-10-05 03:29:29.940 5 0 0 5 20251010 191400 130 4 0 (unknown) 0 3 1 1 1
|
||||||
|
0B72ED39-0849-4936-815B-8F53DE1EB95F DOES-DUTAS-SQL1 TEST_DAILY_DTSESDAY 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.940 2025-10-05 10:00:26.947 5 0 0 5 20251006 140500 180 4 0 (unknown) 0 3 1 1 1
|
||||||
|
AB97E914-0D8F-47B1-97A6-90653EC50821 DOES-DUTAS-SQL1 TEST_DAILY_DTSBX530 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.143 2025-10-05 10:00:27.153 5 0 0 5 20251006 170000 191 4 0 (unknown) 0 3 1 1 1
|
||||||
|
64C5E905-91ED-49EC-8AD2-90689303B0AF DOES-DUTAS-SQL1 TEST_DAILY_DTSBX630 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.007 2025-10-05 10:00:27.013 5 0 0 5 20251006 163000 184 4 0 (unknown) 0 3 1 1 1
|
||||||
|
247616E3-10C2-4D28-B0FE-912952BF5CD3 DOES-DUTAS-SQL1 PROD_DAILY_DTSRQ459 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.370 2025-10-05 10:20:54.377 5 0 0 5 20251006 190000 282 4 0 (unknown) 0 3 1 1 1
|
||||||
|
B744F2CE-5969-4E70-A5BE-91DCE77F3DD7 DOES-DUTAS-SQL1 DEVL_WEEKLY_DTSGSID0 1 Auto-generated DUTAS job. 1 DEVL_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:29:29.737 2025-10-05 03:29:29.747 5 20251005 60000 1 20251011 60000 122 4 0 (unknown) 0 3 1 1 1
|
||||||
|
E3B1995B-0E6E-467D-8D3E-9229DBE1B0BD DOES-DUTAS-SQL1 PROD_MONTHLY_DTSVBKUP 1 Auto-generated DUTAS job. 1 PROD_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:24:16.343 2025-10-05 10:25:24.380 6 0 0 5 20251031 192600 315 4 0 (unknown) 0 3 1 1 1
|
||||||
|
C07AE384-A446-45FE-9973-95E9AF5C040D DOES-DUTAS-SQL1 PROD_DAILY_DTSGSID0 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.773 2025-10-05 10:20:53.777 5 0 0 5 20251006 60000 246 4 0 (unknown) 0 3 1 1 1
|
||||||
|
43BAD08D-3783-4BA5-9520-962C12992971 DOES-DUTAS-SQL1 TEST_WEEKLY_DTSPDAY7 1 Auto-generated DUTAS job. 1 TEST_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:02:05.897 2025-10-05 10:02:05.903 5 0 0 5 20251010 191000 219 4 0 (unknown) 0 3 1 1 1
|
||||||
|
85044141-8128-458D-93F3-963123DD28A6 DOES-DUTAS-SQL1 PROD_DAILY_DTSGWAGE 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.930 2025-10-05 10:20:53.940 5 0 0 5 20251006 140000 255 4 0 (unknown) 0 3 1 1 1
|
||||||
|
B350EC79-25C1-49D9-A694-982CDC80E7C3 DOES-DUTAS-SQL1 PROD_DAILY_DTSBX630 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.033 2025-10-05 10:20:54.040 5 0 0 5 20251006 163000 261 4 0 (unknown) 0 3 1 1 1
|
||||||
|
83BA5AE6-B821-45B5-908B-99FD678BE513 DOES-DUTAS-SQL1 PROD_DAILY_DTSBX403 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.417 2025-10-05 10:20:54.423 5 0 0 5 20251006 200000 285 4 0 (unknown) 0 3 1 1 1
|
||||||
|
BAE5384E-419F-4517-8C33-9A96BA6DA226 DOES-DUTAS-SQL1 PROD_DAILY_DTSBX202 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.827 2025-10-05 10:20:53.833 5 0 0 5 20251006 70000 250 4 0 (unknown) 0 3 1 1 1
|
||||||
|
3D0D4EB8-061D-401F-A637-9AA30C9136EB DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX432 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.390 2025-10-04 14:22:42.397 5 0 0 5 20251006 83000 84 4 0 (unknown) 0 3 1 1 1
|
||||||
|
45798112-FFD5-41D7-AD16-9D598E4F6FD8 DOES-DUTAS-SQL1 DEVL_MONTHLY_DTSCHGDC 1 Auto-generated DUTAS job. 1 DEVL_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:45:28.557 2025-10-05 06:20:09.947 10 0 0 5 20251103 130000 165 4 0 (unknown) 0 3 1 1 1
|
||||||
|
97FF7BB6-2CD9-4A02-9D04-9D66EA0F55CB DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX427 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.837 2025-10-04 14:22:42.847 5 0 0 5 20251006 180700 107 4 0 (unknown) 0 3 1 1 1
|
||||||
|
529DB36D-1878-45A5-A01D-9ED68B99DE18 DOES-DUTAS-SQL1 TEST_DAILY_DTSBX629 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.990 2025-10-05 10:00:26.997 5 0 0 5 20251006 161500 183 4 0 (unknown) 0 3 1 1 1
|
||||||
|
FF2786FD-7F16-4C36-9F2D-9FDC5B356037 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX626 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.677 2025-10-04 14:22:42.687 5 0 0 5 20251006 170000 99 4 0 (unknown) 0 3 1 1 1
|
||||||
|
5D608D3F-BB61-4CA5-A23A-9FED05E34943 DOES-DUTAS-SQL1 PROD_DAILY_DTSBX451 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.197 2025-10-05 10:20:54.203 5 0 0 5 20251006 171500 271 4 0 (unknown) 0 3 1 1 1
|
||||||
|
BF71F64A-321C-4570-AB73-A6E797DD6608 DOES-DUTAS-SQL1 TEST_DAILY_DTSBXREL 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.163 2025-10-05 10:00:27.170 5 0 0 5 20251006 170000 192 4 0 (unknown) 0 3 1 1 1
|
||||||
|
7F861A9C-1F75-43AD-AC39-A7EAD33E9C59 DOES-DUTAS-SQL1 PROD_DAILY_DTSBX601 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.483 2025-10-05 10:20:54.490 5 0 0 5 20251006 212500 289 4 0 (unknown) 0 3 1 1 1
|
||||||
|
8DAD63DB-883B-4176-8132-A913D80EB65E DOES-DUTAS-SQL1 PROD_MONTHLY_DTSRQ414 1 Auto-generated DUTAS job. 1 PROD_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:24:16.277 2025-10-05 10:25:24.330 6 0 0 5 20251103 181500 311 4 0 (unknown) 0 3 1 1 1
|
||||||
|
62C7E9A3-776C-4903-A67E-A9393ECEF1F8 DOES-DUTAS-SQL1 PROD_WEEKLY_DTSGSID0 1 Auto-generated DUTAS job. 1 PROD_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:23:57.400 2025-10-05 10:23:57.407 5 0 0 5 20251011 60000 290 4 0 (unknown) 0 3 1 1 1
|
||||||
|
8B73E3C4-4E3C-439A-B563-A9EC3E5EF6EF DOES-DUTAS-SQL1 PROD_DAILY_DTSGCHKS 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.950 2025-10-05 10:20:53.957 5 0 0 5 20251006 140500 256 4 0 (unknown) 0 3 1 1 1
|
||||||
|
DB153758-E84C-4884-AD4D-AC63DA99F5B5 DOES-DUTAS-SQL1 PROD_DAILY_DTSESDAY 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.967 2025-10-05 10:20:53.973 5 0 0 5 20251006 140500 257 4 0 (unknown) 0 3 1 1 1
|
||||||
|
423347DD-3745-4A7C-A94D-AC70CD19B3D5 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBXACH 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.620 2025-10-04 14:22:42.630 5 0 0 5 20251006 170000 96 4 0 (unknown) 0 3 1 1 1
|
||||||
|
2AAA42E1-4DE4-44B7-A16E-ADD32717A89E DOES-DUTAS-SQL1 DEVL_DAILY_DTSGSID2 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.900 2025-10-04 14:22:42.930 5 0 0 5 20251006 181500 110 4 0 (unknown) 0 3 1 1 1
|
||||||
|
24B186DE-0368-4C58-A441-AE581CBC8A9E DOES-DUTAS-SQL1 DEVL_DAILY_DTSPDAY1 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.857 2025-10-04 14:22:42.867 5 0 0 5 20251006 181000 108 4 0 (unknown) 0 3 1 1 1
|
||||||
|
8B082DEB-F3B7-4084-A8C5-AE866D51C0F8 DOES-DUTAS-SQL1 TEST_DAILY_DTSGSID2 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.320 2025-10-05 10:00:27.327 5 0 0 5 20251006 181500 201 4 0 (unknown) 0 3 1 1 1
|
||||||
|
0970D30C-D9DF-4BD3-A32C-AF61BB15A360 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX403 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:43.087 2025-10-04 14:22:43.100 5 0 0 5 20251006 200000 117 4 0 (unknown) 0 3 1 1 1
|
||||||
|
C093537E-1463-4039-AF35-B1AF7D9B3B2E DOES-DUTAS-SQL1 TEST_DAILY_DTSBX450 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.183 2025-10-05 10:00:27.190 5 0 0 5 20251006 171500 193 4 0 (unknown) 0 3 1 1 1
|
||||||
|
9BCEA510-F5C5-46D9-AC6E-B2F3EE14E3B3 DOES-DUTAS-SQL1 DEVL_DAILY_DTSRACHD 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.600 2025-10-04 14:22:42.610 5 0 0 5 20251006 170000 95 4 0 (unknown) 0 3 1 1 1
|
||||||
|
8FC6F63C-B081-4834-817E-B4B82C6602F1 DOES-DUTAS-SQL1 TEST_DAILY_DTSGSID1 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.810 2025-10-05 10:00:26.820 5 0 0 5 20251006 61500 172 4 0 (unknown) 0 3 1 1 1
|
||||||
|
43DE06BA-995E-4C20-ADCA-B53E8D5AF0EA DOES-DUTAS-SQL1 DEVL_DAILY_DTSMIN02 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:43.003 2025-10-04 14:22:43.013 5 0 0 5 20251006 182000 113 4 0 (unknown) 0 3 1 1 1
|
||||||
|
3585D868-9570-48E8-BD87-B643279E131B DOES-DUTAS-SQL1 PROD_DAILY_DTSBXACH 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.080 2025-10-05 10:20:54.090 5 0 0 5 20251006 170000 264 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A7C7C9E7-8616-4286-A049-BC31965C5E6A DOES-DUTAS-SQL1 PROD_DAILY_DTSFRAUD 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.050 2025-10-05 10:20:54.057 5 0 0 5 20251006 163000 262 4 0 (unknown) 0 3 1 1 1
|
||||||
|
49701837-43BD-4539-B2C4-BDA3CF7A67D6 DOES-DUTAS-SQL1 DEVL_DAILY_DTSESDAY 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.487 2025-10-04 14:22:42.493 5 0 0 5 20251006 140500 89 4 0 (unknown) 0 3 1 1 1
|
||||||
|
8F18764D-5276-47F0-9B93-BF28CF3CDACD DOES-DUTAS-SQL1 DEVL_MONTHLY_DTSCHGVR 1 Auto-generated DUTAS job. 1 DEVL_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:45:28.440 2025-10-05 06:20:09.877 7 0 0 5 20251031 192700 159 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A684798D-7BAC-4CE0-A747-BFC3DFDDF8FE DOES-DUTAS-SQL1 TEST_MONTHLY_DTSRQ414 1 Auto-generated DUTAS job. 1 TEST_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:03:07.933 2025-10-05 10:04:57.453 6 0 0 5 20251103 181500 234 4 0 (unknown) 0 3 1 1 1
|
||||||
|
09C269BA-22FB-448C-987C-C054F69A0F97 DOES-DUTAS-SQL1 PROD_MONTHLY_DTSBX460 1 Auto-generated DUTAS job. 1 PROD_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:24:16.393 2025-10-05 10:25:24.413 6 0 0 5 20251031 193500 318 4 0 (unknown) 0 3 1 1 1
|
||||||
|
B20E796F-B4F6-4706-BAE5-C10B7B2A9117 DOES-DUTAS-SQL1 TEST_WEEKLY_DTSRQ444 1 Auto-generated DUTAS job. 1 TEST_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:02:05.950 2025-10-05 10:02:05.957 5 0 0 5 20251006 70000 222 4 0 (unknown) 0 3 1 1 1
|
||||||
|
C36D293E-5495-4BA0-8FDF-C304C3A10985 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX450 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.737 2025-10-04 14:22:42.747 5 0 0 5 20251006 171500 102 4 0 (unknown) 0 3 1 1 1
|
||||||
|
6213780E-943E-4170-B314-C45CB376E664 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX630 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.563 2025-10-04 14:22:42.573 5 0 0 5 20251006 163000 93 4 0 (unknown) 0 3 1 1 1
|
||||||
|
687FA883-6690-45F2-B92E-C681FB638E57 DOES-DUTAS-SQL1 PROD_DAILY_DTSBX629 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.017 2025-10-05 10:20:54.023 5 0 0 5 20251006 161500 260 4 0 (unknown) 0 3 1 1 1
|
||||||
|
78A53C7B-B1E0-46D2-A220-C6DF7C124C41 DOES-DUTAS-SQL1 PROD_DAILY_DTSBXREL 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.163 2025-10-05 10:20:54.170 5 0 0 5 20251006 170000 269 4 0 (unknown) 0 3 1 1 1
|
||||||
|
8FE581C1-DF8F-4574-82E4-C7188BC23B6C DOES-DUTAS-SQL1 TEST_DAILY_DTSRACHD 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.047 2025-10-05 10:00:27.057 5 0 0 5 20251006 170000 186 4 0 (unknown) 0 3 1 1 1
|
||||||
|
470206EC-F819-4523-847C-CA7D91D98C55 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX303 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.427 2025-10-04 14:22:42.437 5 0 0 5 20251006 100000 86 4 0 (unknown) 0 3 1 1 1
|
||||||
|
E33445F3-8745-4215-8FB6-CADE2F764C8A DOES-DUTAS-SQL1 PROD_WEEKLY_DTSGSID1 1 Auto-generated DUTAS job. 1 PROD_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:23:57.417 2025-10-05 10:23:57.430 5 0 0 5 20251011 61500 291 4 0 (unknown) 0 3 1 1 1
|
||||||
|
365023B6-CBEC-4BC8-B7AC-CD7675E3C3CC DOES-DUTAS-SQL1 PROD_DAILY_DTSPDAY1 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.273 2025-10-05 10:20:54.280 5 0 0 5 20251006 181000 276 4 0 (unknown) 0 3 1 1 1
|
||||||
|
E2960946-9C88-4D5B-A50B-CE2AB88EB805 DOES-DUTAS-SQL1 DEVL_DAILY_DTSGWAGE 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.447 2025-10-04 14:22:42.457 5 0 0 5 20251006 140000 87 4 0 (unknown) 0 3 1 1 1
|
||||||
|
8E1A15A1-F9AF-43AA-9872-CE3BA5D53D50 DOES-DUTAS-SQL1 TEST_DAILY_DTSGWAGE 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.907 2025-10-05 10:00:26.913 5 0 0 5 20251006 140000 178 4 0 (unknown) 0 3 1 1 1
|
||||||
|
3CF5C368-E9A3-4084-8FCA-CEB3FA7417DA DOES-DUTAS-SQL1 TEST_DAILY_DTSBX403 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.433 2025-10-05 10:00:27.440 5 0 0 5 20251006 200000 208 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A4369291-334F-4E71-9BF4-CEC7B309519A DOES-DUTAS-SQL1 PROD_DAILY_DTSBE405 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.433 2025-10-05 10:20:54.440 5 0 0 5 20251006 201500 286 4 0 (unknown) 0 3 1 1 1
|
||||||
|
843386AB-6CB8-4C96-BC30-CFD28B002C88 DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX530 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.697 2025-10-04 14:22:42.707 5 0 0 5 20251006 170000 100 4 0 (unknown) 0 3 1 1 1
|
||||||
|
E0B9066E-7219-46DD-AD1F-D02515BBF2F4 DOES-DUTAS-SQL1 TEST_DAILY_DTSBX451 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.203 2025-10-05 10:00:27.210 5 0 0 5 20251006 171500 194 4 0 (unknown) 0 3 1 1 1
|
||||||
|
6360559C-F998-42F7-B87E-D10BFB64E0D6 DOES-DUTAS-SQL1 TEST_WEEKLY_DTSRQ126 1 Auto-generated DUTAS job. 1 TEST_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:02:05.970 2025-10-05 10:02:05.980 5 0 0 5 20251006 90000 223 4 0 (unknown) 0 3 1 1 1
|
||||||
|
014FA169-2109-4D35-9026-D388EBA8CDF0 DOES-DUTAS-SQL1 TEST_DAILY_GSIRQ300 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.780 2025-10-05 10:00:26.787 5 0 0 5 20251006 60500 170 4 0 (unknown) 0 3 1 1 1
|
||||||
|
90CB9F96-1943-41A9-8074-D5A97CB0CBDB DOES-DUTAS-SQL1 TEST_DAILY_DESBD427 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.417 2025-10-05 10:00:27.427 5 0 0 5 20251006 190500 207 4 0 (unknown) 0 3 1 1 1
|
||||||
|
79CECA7C-7880-415F-849F-D5B0FC3821C8 DOES-DUTAS-SQL1 TEST_DAILY_DTSBX303 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.880 2025-10-05 10:00:26.897 5 0 0 5 20251006 100000 177 4 0 (unknown) 0 3 1 1 1
|
||||||
|
E0FA50A7-7B81-4708-9D6E-D72B71649C11 DOES-DUTAS-SQL1 DEVL_WEEKLY_DTSRQ126 1 Auto-generated DUTAS job. 1 DEVL_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 03:29:29.973 2025-10-05 03:29:29.983 5 0 0 5 20251006 90000 132 4 0 (unknown) 0 3 1 1 1
|
||||||
|
4D969D80-4095-4E94-90F4-D90E2CA44F24 DOES-DUTAS-SQL1 PROD_WEEKLY_DTSBX470 1 Auto-generated DUTAS job. 1 PROD_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:23:57.470 2025-10-05 10:23:57.477 5 0 0 5 20251010 70000 294 4 0 (unknown) 0 3 1 1 1
|
||||||
|
F5DFEB96-31F0-4124-AECF-DA48D0A61B3F DOES-DUTAS-SQL1 PROD_DAILY_GSIRQ300 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.777 2025-10-05 10:20:53.780 5 0 0 5 20251006 60500 247 4 0 (unknown) 0 3 1 1 1
|
||||||
|
53B41E62-3B4C-456C-9EEC-DB1914961816 DOES-DUTAS-SQL1 PROD_MONTHLY_DTSPMON1 1 Auto-generated DUTAS job. 1 PROD_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:24:16.293 2025-10-05 10:25:24.347 6 0 0 5 20251031 191500 312 4 0 (unknown) 0 3 1 1 1
|
||||||
|
9D6C28AC-0A09-4510-A80D-DBA2AD18EAD2 DOES-DUTAS-SQL1 PROD_DAILY_DTSGSID2 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.303 2025-10-05 10:20:54.313 5 0 0 5 20251006 181500 278 4 0 (unknown) 0 3 1 1 1
|
||||||
|
0241D05B-FCC1-4162-A496-DF8DC82EBCFD DOES-DUTAS-SQL1 TEST_DAILY_DTSBXREG 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.087 2025-10-05 10:00:27.097 5 0 0 5 20251006 170000 188 4 0 (unknown) 0 3 1 1 1
|
||||||
|
14BE4DEF-8ED2-4B21-8DD6-DFA061F5D022 DOES-DUTAS-SQL1 DEVL_DAILY_DESBD427 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:43.067 2025-10-04 14:22:43.077 5 0 0 5 20251006 190500 116 4 0 (unknown) 0 3 1 1 1
|
||||||
|
76B86F68-AC74-4579-8E6F-E0435691ECEE DOES-DUTAS-SQL1 DEVL_DAILY_DTSRQ335 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:43.150 2025-10-04 14:22:43.160 5 0 0 5 20251006 210000 120 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A81A04F5-D0FB-4A1B-ADF0-E07E0D394314 DOES-DUTAS-SQL1 TEST_DAILY_DTSBX405 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.470 2025-10-05 10:00:27.477 5 0 0 5 20251006 201500 210 4 0 (unknown) 0 3 1 1 1
|
||||||
|
1AA9F83B-EA82-419E-84A2-E3D75F8E2F44 DOES-DUTAS-SQL1 TEST_DAILY_DTSFT202 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.840 2025-10-05 10:00:26.840 5 0 0 5 20251006 80000 174 4 0 (unknown) 0 3 1 1 1
|
||||||
|
07FEF44F-28AD-42CD-896D-E56DD3E9FF35 DOES-DUTAS-SQL1 DEVL_DAILY_GSIRQ300 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.290 2025-10-04 14:22:42.300 5 0 0 5 20251006 60500 79 4 0 (unknown) 0 3 1 1 1
|
||||||
|
298858BC-0F82-4D1A-B828-E66AD41D6317 DOES-DUTAS-SQL1 PROD_DAILY_DTSMIN01 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.337 2025-10-05 10:20:54.343 5 0 0 5 20251006 182000 280 4 0 (unknown) 0 3 1 1 1
|
||||||
|
B94615CC-23A3-4C63-9EA9-E796AECAA175 DOES-DUTAS-SQL1 PROD_MONTHLY_DTSRQ442 1 Auto-generated DUTAS job. 1 PROD_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:24:16.377 2025-10-05 10:25:24.403 6 0 0 5 20251031 193700 317 4 0 (unknown) 0 3 1 1 1
|
||||||
|
4AE8B340-0A81-4FCB-9A88-E970A30844AD DOES-DUTAS-SQL1 TEST_WEEKLY_DTSBX122 1 Auto-generated DUTAS job. 1 TEST_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:02:05.913 2025-10-05 10:02:05.920 5 0 0 5 20251010 191400 220 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A48B1364-8CF1-4463-BCC9-EA5BF901D743 DOES-DUTAS-SQL1 TEST_DAILY_DTSMIN01 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.350 2025-10-05 10:00:27.360 5 0 0 5 20251006 182000 203 4 0 (unknown) 0 3 1 1 1
|
||||||
|
74F6351A-6A9E-4EE6-8AE7-ED0BDB75ADD3 DOES-DUTAS-SQL1 PROD_DAILY_DTSDX145 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.997 2025-10-05 10:20:54.007 5 0 0 5 20251006 160500 259 4 0 (unknown) 0 3 1 1 1
|
||||||
|
D2394DFA-957C-4922-82EE-ED8DE568084B DOES-DUTAS-SQL1 TEST_DAILY_DTSGPAYT 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:26.957 2025-10-05 10:00:26.963 5 0 0 5 20251006 141000 181 4 0 (unknown) 0 3 1 1 1
|
||||||
|
BC5E46A4-8315-4B7D-BD73-EE425D11F69A DOES-DUTAS-SQL1 PROD_DAILY_DTSBX405 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.450 2025-10-05 10:20:54.457 5 0 0 5 20251006 201500 287 4 0 (unknown) 0 3 1 1 1
|
||||||
|
5F55E9B1-A3A2-484D-9CC0-EFF2DD081962 DOES-DUTAS-SQL1 TEST_DAILY_DTSPX148 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.237 2025-10-05 10:00:27.243 5 0 0 5 20251006 180500 196 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A999E3C9-2462-4939-B9E2-F07A1481370D DOES-DUTAS-SQL1 DEVL_DAILY_DTSW4WGE 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.877 2025-10-04 14:22:42.887 5 0 0 5 20251006 181500 109 4 0 (unknown) 0 3 1 1 1
|
||||||
|
5D944F82-95C7-447C-B8CA-F17EC31BB056 DOES-DUTAS-SQL1 TEST_DAILY_DTSBE405 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.450 2025-10-05 10:00:27.460 5 0 0 5 20251006 201500 209 4 0 (unknown) 0 3 1 1 1
|
||||||
|
10ECDAAC-03C3-428F-8A3A-F218BB24516C DOES-DUTAS-SQL1 PROD_DAILY_DTSBX626 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.133 2025-10-05 10:20:54.140 5 0 0 5 20251006 170000 267 4 0 (unknown) 0 3 1 1 1
|
||||||
|
D44FFDD4-ECF5-44D4-85A7-F4AFDE8540AE DOES-DUTAS-SQL1 DEVL_DAILY_DTSBX305 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.253 2025-10-04 14:22:42.263 5 0 0 5 20251006 40000 77 4 0 (unknown) 0 3 1 1 1
|
||||||
|
270BCB97-E53C-4451-8EDD-F579182D2454 DOES-DUTAS-SQL1 PROD_MONTHLY_DTSRQ513 1 Auto-generated DUTAS job. 1 PROD_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:24:16.423 2025-10-05 10:25:24.427 6 0 0 5 20251031 193700 319 4 0 (unknown) 0 3 1 1 1
|
||||||
|
85238E5A-B044-46D6-B4EC-F6908947F805 DOES-DUTAS-SQL1 PROD_MONTHLY_DTSVRSTR 1 Auto-generated DUTAS job. 1 PROD_MONTHLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:24:16.360 2025-10-05 10:25:24.393 6 0 0 5 20251031 193000 316 4 0 (unknown) 0 3 1 1 1
|
||||||
|
3483AD6C-3907-49EB-A7E3-F7FA200B9F95 DOES-DUTAS-SQL1 PROD_DAILY_DTSBX305 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:53.757 2025-10-05 10:20:53.763 5 0 0 5 20251006 40000 245 4 0 (unknown) 0 3 1 1 1
|
||||||
|
3962DEEC-284A-41AC-9EC5-FAA9A1E12A75 DOES-DUTAS-SQL1 DEVL_DAILY_DTSGSID1 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.330 2025-10-04 14:22:42.340 5 0 0 5 20251006 61500 81 4 0 (unknown) 0 3 1 1 1
|
||||||
|
A100F4E0-79A0-4119-9A11-FB418E682BEF DOES-DUTAS-SQL1 PROD_DAILY_DTSBX530 1 Auto-generated DUTAS job. 1 PROD_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:20:54.150 2025-10-05 10:20:54.157 5 0 0 5 20251006 170000 268 4 0 (unknown) 0 3 1 1 1
|
||||||
|
DCA72C07-504B-48EB-A274-FB588D070EE3 DOES-DUTAS-SQL1 PROD_WEEKLY_DTSFT202 1 Auto-generated DUTAS job. 1 PROD_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:23:57.453 2025-10-05 10:23:57.463 5 0 0 5 20251011 80000 293 4 0 (unknown) 0 3 1 1 1
|
||||||
|
E7AC36F3-5BC2-452F-82C4-FBB2B30CC2F3 DOES-DUTAS-SQL1 TEST_DAILY_DTSRQ459 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.383 2025-10-05 10:00:27.393 5 0 0 5 20251006 190000 205 4 0 (unknown) 0 3 1 1 1
|
||||||
|
F6004DDB-A977-4CD7-9FCC-FBF2D1751D72 DOES-DUTAS-SQL1 DEVL_DAILY_DTSFT202 1 Auto-generated DUTAS job. 1 DEVL_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-04 14:22:42.370 2025-10-04 14:22:42.380 5 0 0 5 20251006 80000 83 4 0 (unknown) 0 3 1 1 1
|
||||||
|
35E11B4F-93C9-4303-8FEC-FF486891A0F0 DOES-DUTAS-SQL1 PROD_WEEKLY_DTSRQ511 1 Auto-generated DUTAS job. 1 PROD_WEEKLY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:23:57.533 2025-10-05 10:23:57.540 5 0 0 5 20251010 191400 298 4 0 (unknown) 0 3 1 1 1
|
||||||
|
951D995C-66CC-4F0A-ADF4-FF5E133B017C DOES-DUTAS-SQL1 TEST_DAILY_DTSBX427 1 Auto-generated DUTAS job. 1 TEST_DAILY DOES\DUTASSQLADMINP 2 0 0 0 (unknown) (unknown) (unknown) 0 2025-10-05 10:00:27.270 2025-10-05 10:00:27.277 5 0 0 5 20251006 180700 198 4 0 (unknown) 0 3 1 1 1
|
||||||
BIN
SQLAgent/Backup/SQLAgentJobs_20251005_111105.zip
Normal file
BIN
SQLAgent/Backup/SQLAgentJobs_20251005_111105.zip
Normal file
Binary file not shown.
BIN
SQLAgent/Backup/TestDUTASJobSchedule.bak
Normal file
BIN
SQLAgent/Backup/TestDUTASJobSchedule.bak
Normal file
Binary file not shown.
BIN
SQLAgent/DUTASJobSchedule_Configuration_Document_v0.1.docx
Normal file
BIN
SQLAgent/DUTASJobSchedule_Configuration_Document_v0.1.docx
Normal file
Binary file not shown.
430
SQLAgent/README.md
Normal file
430
SQLAgent/README.md
Normal file
@ -0,0 +1,430 @@
|
|||||||
|
**Master Configuration Document -- SQL Agent Scheduler**
|
||||||
|
|
||||||
|
1. **Summary**
|
||||||
|
|
||||||
|
This document captures the design for the DUTAS Batch Job Scheduling
|
||||||
|
system on SQL Server. It includes database architecture, schema, stored
|
||||||
|
procedures, SQL Agent job patterns, PowerShell scripts, maintenance
|
||||||
|
procedures, and examples. The aim is to provide a knowledge document for
|
||||||
|
operations, development, and handover.
|
||||||
|
|
||||||
|
2. **Architecture Overview**
|
||||||
|
|
||||||
|
High-level components:
|
||||||
|
|
||||||
|
- SQL Server instance: DOES-DUTAS-SQL1 hosting Devl/Test/Prod job
|
||||||
|
scheduling databases and SQL Agent (msdb).
|
||||||
|
|
||||||
|
- Environment databases: DevlDUTASJobSchedule, TestDUTASJobSchedule,
|
||||||
|
ProdDUTASJobSchedule.
|
||||||
|
|
||||||
|
- SQL Agent Jobs for each JobControl entry (3-step structure).
|
||||||
|
|
||||||
|
- PowerShell scripts for remote job execution and logging.
|
||||||
|
|
||||||
|
- Operator stored procedures for overrides and maintenance.
|
||||||
|
|
||||||
|
+-------------+--------------------------------------------------------+
|
||||||
|
| ** | **Description** |
|
||||||
|
| Component** | |
|
||||||
|
+=============+========================================================+
|
||||||
|
| **SQL | Centralized instance hosting all environment databases |
|
||||||
|
| Server | and SQL Agent Jobs (DOES-DUTAS-SQL1). |
|
||||||
|
| Instance** | |
|
||||||
|
+-------------+--------------------------------------------------------+
|
||||||
|
| ** | Each environment has its own job scheduling database: |
|
||||||
|
| Databases** | |
|
||||||
|
| | • DevlDUTASJobSchedule |
|
||||||
|
| | |
|
||||||
|
| | • TestDUTASJobSchedule |
|
||||||
|
| | |
|
||||||
|
| | • ProdDUTASJobSchedule |
|
||||||
|
+-------------+--------------------------------------------------------+
|
||||||
|
| **SQL | Manages the execution of scheduled jobs. Each job is |
|
||||||
|
| Agent** | linked to stored procedures for conditional execution |
|
||||||
|
| | and status tracking. |
|
||||||
|
+-------------+--------------------------------------------------------+
|
||||||
|
| * | Used for remote job triggering, job submission, and |
|
||||||
|
| *PowerShell | maintenance automation. |
|
||||||
|
| Scripts** | |
|
||||||
|
+-------------+--------------------------------------------------------+
|
||||||
|
| **Backup | Automated PowerShell process backs up all SQL Agent |
|
||||||
|
| Process** | job definitions and configurations. |
|
||||||
|
+-------------+--------------------------------------------------------+
|
||||||
|
|
||||||
|
**Job Steps (Generic Job Template)**
|
||||||
|
|
||||||
|
Every job in SQL Agent created by usp_CreateSQLAgentJob follows 3 steps:
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
**Step** **Description** **Subsystem**
|
||||||
|
---------------- --------------------------------------------- ---------------
|
||||||
|
**1. Check Runs usp_CheckJobConditions_Generic \@JobName T-SQL
|
||||||
|
Conditions**
|
||||||
|
|
||||||
|
**2. Run Job Executes PowerShell job file using CmdExec
|
||||||
|
Script** Execute-RemoteJob.ps1 --Jobname -Env
|
||||||
|
|
||||||
|
**3. Update Logs job outcome via T-SQL
|
||||||
|
Execution usp_UpdateJobStatus_Generic \@JobName
|
||||||
|
Status**
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
3. **Database Schema**
|
||||||
|
|
||||||
|
Database: DevlDUTASJobSchedule (same schema for Test/Prod)
|
||||||
|
|
||||||
|
**3.1 Tables and DDL (key tables):**
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
**Table** **Purpose**
|
||||||
|
------------------------- ----------------------------------------------------
|
||||||
|
**JobControl** Master list of all jobs, their type
|
||||||
|
(Daily/Weekly/Monthly), command behavior, active
|
||||||
|
status, and frequency.
|
||||||
|
|
||||||
|
**JobDependencies** Defines predecessor-successor relationships among
|
||||||
|
jobs. Used to determine sequencing and dependency
|
||||||
|
checks.
|
||||||
|
|
||||||
|
**JobExitCodes** Logs job completion codes (0 = success, 1 = failure)
|
||||||
|
per execution date.
|
||||||
|
|
||||||
|
**JobExecutionHistory** Stores audit trail of all job runs with timestamps,
|
||||||
|
exit codes, and trigger source.
|
||||||
|
|
||||||
|
**FederalHolidays** Contains all non-working dates used by scheduling
|
||||||
|
logic (e.g., skip runs on holidays).
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
**3.1.1 JobControl**
|
||||||
|
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
**Column** **Description**
|
||||||
|
------------------------ --------------------------------------------------
|
||||||
|
**JobName** Unique identifier (e.g., DEVL_DAILY_DTSRQ001).
|
||||||
|
|
||||||
|
**ScheduledStartTime** Scheduled start time (HH:MM format).
|
||||||
|
|
||||||
|
**SchedulerAction** Indicates if job should STOP or CONTINUE next in
|
||||||
|
chain.
|
||||||
|
|
||||||
|
**IsActive** 1 = Enabled, 0 = Disabled.
|
||||||
|
|
||||||
|
**Frequency** DAILY, WEEKLY, or MONTHLY. (ONDEMAND)
|
||||||
|
|
||||||
|
**CreatedDate** Job Creation Date
|
||||||
|
---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
**3.1.2 JobDependencies**
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
**Column** **Description**
|
||||||
|
-------------------- -------------------------------------------------------
|
||||||
|
**JobName** The dependent job.
|
||||||
|
|
||||||
|
**PredecessorJob** Job that must complete successfully before current job
|
||||||
|
executes.
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
**3.1.3 JobExecutionHistory**
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------------------
|
||||||
|
**Column Name** **Data Type** **Allow **Default / **Description**
|
||||||
|
NULLs** Constraint**
|
||||||
|
------------------------ ---------------- --------- -------------------- -----------------
|
||||||
|
**ExecutionID** INT (IDENTITY) No Primary Key Unique identifier
|
||||||
|
(auto-increment) for each job
|
||||||
|
execution record.
|
||||||
|
|
||||||
|
**JobName** VARCHAR(50) No --- Name of the job
|
||||||
|
as defined in
|
||||||
|
JobControl or SQL
|
||||||
|
Agent.
|
||||||
|
|
||||||
|
**RunDate** DATE No --- Scheduled date
|
||||||
|
for the job run.
|
||||||
|
|
||||||
|
**ScheduledStartTime** TIME No --- Time the job was
|
||||||
|
scheduled to
|
||||||
|
start.
|
||||||
|
|
||||||
|
**ActualStartTime** DATETIME Yes NULL by default The actual time
|
||||||
|
when the job
|
||||||
|
started.
|
||||||
|
|
||||||
|
**ActualEndTime** DATETIME Yes NULL by default The actual time
|
||||||
|
when the job
|
||||||
|
completed.
|
||||||
|
|
||||||
|
**Status** VARCHAR(20) Yes Default \'Pending\', Indicates current
|
||||||
|
constrained to execution status.
|
||||||
|
(\'Pending\',
|
||||||
|
\'Running\',
|
||||||
|
\'Success\',
|
||||||
|
\'Failed\',
|
||||||
|
\'ForceComplete\')
|
||||||
|
|
||||||
|
**ErrorMessage** VARCHAR(MAX) Yes NULL by default Error message
|
||||||
|
captured for
|
||||||
|
failed runs.
|
||||||
|
|
||||||
|
**OverrideFlag** BIT Yes Default 0 Flag indicating
|
||||||
|
if job status was
|
||||||
|
manually
|
||||||
|
overridden.
|
||||||
|
|
||||||
|
**OverrideBy** VARCHAR(100) Yes NULL by default Name of user or
|
||||||
|
process who
|
||||||
|
overrode the
|
||||||
|
status.
|
||||||
|
|
||||||
|
**OverrideDate** DATETIME Yes NULL by default Timestamp when
|
||||||
|
the override was
|
||||||
|
applied.
|
||||||
|
------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
**3.1.4 JobExitCodes**
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------------
|
||||||
|
**Column Name** **Data Type** **Allow **Default / **Description**
|
||||||
|
NULLs** Constraint**
|
||||||
|
-------------------- --------------- --------- ------------------ -------------------
|
||||||
|
**JobExecutionID** INT (IDENTITY) No Primary Key Unique identifier
|
||||||
|
(auto-increment) for each job
|
||||||
|
execution record
|
||||||
|
logged by
|
||||||
|
PowerShell.
|
||||||
|
|
||||||
|
**JobName** NVARCHAR(128) No --- Name of the
|
||||||
|
executed SQL or
|
||||||
|
batch job.
|
||||||
|
|
||||||
|
**RunDate** DATE No --- Date when the job
|
||||||
|
ran.
|
||||||
|
|
||||||
|
**ExitCode** INT No --- Exit code returned
|
||||||
|
by PowerShell or
|
||||||
|
job execution
|
||||||
|
process.
|
||||||
|
|
||||||
|
**RecordedTime** DATETIME No Default GETDATE() Timestamp when exit
|
||||||
|
code was recorded.
|
||||||
|
-------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
**3.1.5 FederalHoliday**
|
||||||
|
|
||||||
|
-----------------------------------------------------------------------------------
|
||||||
|
**Column Name** **Data Type** **Allow **Default / **Description**
|
||||||
|
NULLs** Constraint**
|
||||||
|
----------------- -------------- --------- ------------------ ---------------------
|
||||||
|
**HolidayID** INT (IDENTITY) No Primary Key Unique identifier for
|
||||||
|
(auto-increment) each holiday entry.
|
||||||
|
|
||||||
|
**HolidayDate** DATE No Unique constraint The actual date of
|
||||||
|
the federal holiday.
|
||||||
|
|
||||||
|
**HolidayName** VARCHAR(100) No --- The name of the
|
||||||
|
holiday (e.g.,
|
||||||
|
"Independence Day").
|
||||||
|
|
||||||
|
**Year** INT No --- Calendar year the
|
||||||
|
holiday applies to.
|
||||||
|
-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
**3.2 Stored Procedures (core) - Source Code & Purpose**
|
||||||
|
|
||||||
|
Below are the finalized stored procedures that implement the logic for
|
||||||
|
the scheduling system. This section includes the purpose and the final
|
||||||
|
tested T-SQL for each one.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
**Stored Procedure** **Description**
|
||||||
|
------------------------------------ -----------------------------------------
|
||||||
|
**usp_CreateSQLAgentJob** Creates a new SQL Agent job dynamically
|
||||||
|
from JobControl entries. Default run on
|
||||||
|
Monday to Friday (modify schedule if
|
||||||
|
needed manually).
|
||||||
|
|
||||||
|
**usp_ScheduleMonthlyJob** Dynamically attaches or reattaches
|
||||||
|
one-time monthly job schedules using
|
||||||
|
\@Env, \@RunDate, and \@RunTime.
|
||||||
|
|
||||||
|
**usp_CheckJobConditions_Generic** Evaluates predecessor job statuses and
|
||||||
|
environmental conditions before running a
|
||||||
|
job.
|
||||||
|
|
||||||
|
**usp_UpdateJobStatus_Generic** Updates the job execution outcome
|
||||||
|
(Success / Failure) in JobControl after
|
||||||
|
each run.
|
||||||
|
|
||||||
|
**usp_TriggerMissedJobs** Checks for missed executions and triggers
|
||||||
|
them if required.
|
||||||
|
|
||||||
|
**usp_ForceComplete** Utility to close out jobs manually when
|
||||||
|
needed for maintenance or re-runs.
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
**3.3 PowerShell Scripts (key)**
|
||||||
|
|
||||||
|
**3.3.1 Execute-RemoteJob.ps1**
|
||||||
|
|
||||||
|
Purpose: Wrapper that invokes remote job and logs exit code to
|
||||||
|
JobExitCodes table.
|
||||||
|
|
||||||
|
**3.3.2 RCSubmit-Job.ps1**
|
||||||
|
|
||||||
|
Purpose: Runs legacy submit command and evaluates SYSLOG and exit codes.
|
||||||
|
Customize acceptance list per job.
|
||||||
|
|
||||||
|
**3.3.3 Backup-SQLAgentJobs.ps1**
|
||||||
|
|
||||||
|
Purpose: Exports all SQL Agent jobs as .sql files and zips them. (Used
|
||||||
|
for job backups prior to promotion)
|
||||||
|
|
||||||
|
**4. Operational Procedures**
|
||||||
|
|
||||||
|
**4.1 Standard Daily Checklist (before 4:00 AM):**
|
||||||
|
|
||||||
|
- Verify SQL Server and SQL Agent services are running.
|
||||||
|
|
||||||
|
- Verify JobControl entries and schedules.
|
||||||
|
|
||||||
|
**4.2 Ad-hoc Maintenance / Override Flow:**
|
||||||
|
|
||||||
|
1. If a job fails (STOP), investigate and fix the root cause.
|
||||||
|
|
||||||
|
2. Re-run the failed job PowerShell or via SSMS.
|
||||||
|
|
||||||
|
3. Run SQL: ForceCompleteJob.sql to mark job force complete. It uses
|
||||||
|
Stored Procedure: usp_ForceComplete and takes Job Name and Operator
|
||||||
|
Name as input.
|
||||||
|
|
||||||
|
4. After ad-hoc operations, you can run the jobs that missed scheduled
|
||||||
|
time start either one by one or you can run
|
||||||
|
dbo.usp_TriggerMissedJobs to trigger jobs that missed their
|
||||||
|
scheduled start while failed job resolution was in progress.
|
||||||
|
|
||||||
|
Sample commands:
|
||||||
|
|
||||||
|
\-- Force Complete (example)\
|
||||||
|
EXEC dbo.usp_ForceComplete \'DEVL_WEEKLY_DTSGSID1\', \'Neeraj.Kumar\';
|
||||||
|
|
||||||
|
\-- 1. Preview missed jobs (safe, no run):
|
||||||
|
|
||||||
|
EXEC dbo.usp_TriggerMissedJobs \@DryRun = 1;
|
||||||
|
|
||||||
|
\-- 2. Actually trigger missed jobs:
|
||||||
|
|
||||||
|
EXEC dbo.usp_TriggerMissedJobs \@DryRun = 0;
|
||||||
|
|
||||||
|
**4.3 Monthly Job Scheduling and Execution Process**
|
||||||
|
|
||||||
|
Monthly jobs in the the SQL Agent are designed to run on-demand or on
|
||||||
|
specific monthly dates rather than on a recurring automated date.
|
||||||
|
|
||||||
|
To maintain control and prevent unintentional executions, all monthly
|
||||||
|
jobs are kept disabled by default (IsActive = 0) and are only activated
|
||||||
|
when needed.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
**Step** **Action** **Script / Procedure Used** **Purpose**
|
||||||
|
---------- ------------- ---------------------------------- ------------------
|
||||||
|
1 Review SELECT \* FROM JobControl WHERE Identify jobs to
|
||||||
|
monthly job Frequency=\'MONTHLY\'; be run this month.
|
||||||
|
list
|
||||||
|
|
||||||
|
2 Update run Edit ActivateMonthlyJob.sql Define monthly
|
||||||
|
date & time execution window.
|
||||||
|
|
||||||
|
3 Schedule & Run ActivateMonthlyJob.sql Create one-time
|
||||||
|
activate jobs SQL Agent
|
||||||
|
schedules.
|
||||||
|
|
||||||
|
4 Monitor Use JobExecutionHistory table or Track progress and
|
||||||
|
execution SQL Agent history outcomes.
|
||||||
|
|
||||||
|
5 Deactivate Run DeactivateMonthlyJob.sql Reset jobs to
|
||||||
|
jobs post-run inactive state.
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
**4.3.1 Default State: Jobs Disabled**
|
||||||
|
|
||||||
|
- All monthly jobs are initialized in the JobControl table with
|
||||||
|
IsActive = 0.
|
||||||
|
|
||||||
|
- This ensures that they do not run automatically unless explicitly
|
||||||
|
scheduled.
|
||||||
|
|
||||||
|
- Frequency is stored as \'MONTHLY\' for identification, but
|
||||||
|
scheduling depends entirely on the stored procedure.
|
||||||
|
|
||||||
|
Example Query:
|
||||||
|
|
||||||
|
SELECT JobName, IsActive, Frequency
|
||||||
|
|
||||||
|
FROM dbo.JobControl
|
||||||
|
|
||||||
|
WHERE Frequency = \'MONTHLY\';
|
||||||
|
|
||||||
|
**4.3.2 Activating and Scheduling Monthly Jobs**
|
||||||
|
|
||||||
|
To schedule monthly jobs for the upcoming month (e.g., October or
|
||||||
|
November), you'll use the ActivateMonthlyJob.sql script.
|
||||||
|
|
||||||
|
- Updates job activation flags (IsActive = 1).
|
||||||
|
|
||||||
|
- Calls the stored procedure usp_ScheduleMonthlyJob to dynamically
|
||||||
|
create or refresh SQL Agent schedules.
|
||||||
|
|
||||||
|
- Removes any old schedules and replaces them with new, one-time
|
||||||
|
schedules for the provided date and time.
|
||||||
|
|
||||||
|
> Example Query:
|
||||||
|
>
|
||||||
|
> EXEC dbo.usp_ScheduleMonthlyJob
|
||||||
|
>
|
||||||
|
> \@JobName = \'DEVL_MONTHLY_DTSCHGVB\',
|
||||||
|
>
|
||||||
|
> \@Env = \'DEVL\',
|
||||||
|
>
|
||||||
|
> \@RunDate = \'2025-10-31\',
|
||||||
|
>
|
||||||
|
> \@RunTime = \'19:26:00\';
|
||||||
|
|
||||||
|
What it does internally:
|
||||||
|
|
||||||
|
- Identifies the correct environment database:
|
||||||
|
|
||||||
|
- DEVL → DevlDUTASJobSchedule
|
||||||
|
|
||||||
|
- TEST → TestDUTASJobSchedule
|
||||||
|
|
||||||
|
- PROD → ProdDUTASJobSchedule
|
||||||
|
|
||||||
|
- Sets the job as active in JobControl.
|
||||||
|
|
||||||
|
- Detaches and deletes any existing schedule for the job.
|
||||||
|
|
||||||
|
- Creates a **new one-time SQL Agent schedule** for the given
|
||||||
|
date/time.
|
||||||
|
|
||||||
|
- Reattaches the schedule to the job.
|
||||||
|
|
||||||
|
- Prints confirmation once the job is scheduled.
|
||||||
|
|
||||||
|
> **4.3.3 Post-Run Deactivation**
|
||||||
|
>
|
||||||
|
> After monthly jobs finish executing successfully:
|
||||||
|
|
||||||
|
- Deactivate them again to prevent accidental re-runs.
|
||||||
|
|
||||||
|
- This is done using the DeactivateMonthlyJob.sql script.
|
||||||
|
|
||||||
|
Example Query:
|
||||||
|
|
||||||
|
UPDATE dbo.JobControl
|
||||||
|
|
||||||
|
SET IsActive = 0
|
||||||
|
|
||||||
|
WHERE Frequency = \'MONTHLY\';
|
||||||
Reference in New Issue
Block a user