Added latest changes for SQL Agent - Refer v2
This commit is contained in:
62
SqlAgent/v1/01_Devl/1_Database_Setup/CreateDB.sql
Normal file
62
SqlAgent/v1/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/v1/01_Devl/1_Database_Setup/InsertHolidays.sql
Normal file
31
SqlAgent/v1/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/v1/01_Devl/1_Database_Setup/InsertJobControl.sql
Normal file
79
SqlAgent/v1/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');
|
||||
@ -0,0 +1,80 @@
|
||||
USE [DevlDUTASJobSchedule]
|
||||
GO
|
||||
|
||||
TRUNCATE TABLE [dbo].[JobDependencies];
|
||||
|
||||
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_GSIRQ300'),
|
||||
('DEVL_DAILY_DTSESDAY','DEVL_DAILY_GSIRQ300'),
|
||||
('DEVL_DAILY_DTSGPAYT','DEVL_DAILY_GSIRQ300'),
|
||||
('DEVL_DAILY_DTSDX145','DEVL_DAILY_GSIRQ300'),
|
||||
('DEVL_DAILY_DTSBX629','DEVL_DAILY_GSIRQ300'),
|
||||
('DEVL_DAILY_DTSBX630','DEVL_DAILY_DTSBX629'),
|
||||
('DEVL_DAILY_DTSFRAUD','DEVL_DAILY_DTSBX629'),
|
||||
('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_DTSBX450'),
|
||||
('DEVL_DAILY_DTSPACHD','DEVL_DAILY_DTSBX451'),
|
||||
('DEVL_DAILY_DTSPX148','DEVL_DAILY_DTSPACHD'),
|
||||
('DEVL_DAILY_DTSRQ325','DEVL_DAILY_DTSPACHD'),
|
||||
('DEVL_DAILY_DTSBX427','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_DTSMIN01'),
|
||||
('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');
|
||||
Reference in New Issue
Block a user