SQL Agen Scheduler - Updated
This commit is contained in:
@ -6,14 +6,20 @@ 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
|
||||
CREATE TABLE dbo.JobControl
|
||||
(
|
||||
JobID INT IDENTITY(1,1) NOT NULL,
|
||||
JobName VARCHAR(50) NOT NULL,
|
||||
ScheduledStartTime TIME(7) NOT NULL,
|
||||
SchedulerAction VARCHAR(10) NOT NULL, -- STOP or CONTINUE
|
||||
IsActive BIT NOT NULL CONSTRAINT DF_JobControl_IsActive DEFAULT (1),
|
||||
CreatedDate DATETIME NOT NULL CONSTRAINT DF_JobControl_CreatedDate DEFAULT (GETDATE()),
|
||||
Frequency CHAR(20) NOT NULL CONSTRAINT DF_JobControl_Frequency DEFAULT ('DAILY'),
|
||||
FrequencyPattern NVARCHAR(500) NULL, -- JSON scheduling rule
|
||||
|
||||
CONSTRAINT PK_JobControl PRIMARY KEY CLUSTERED (JobID ASC),
|
||||
CONSTRAINT UQ_JobControl_JobName UNIQUE NONCLUSTERED (JobName ASC),
|
||||
CONSTRAINT CK_JobControl_SchedulerAction CHECK (SchedulerAction IN ('STOP', 'CONTINUE'))
|
||||
);
|
||||
GO
|
||||
|
||||
@ -61,3 +67,17 @@ CREATE TABLE dbo.JobExitCodes
|
||||
RecordedTime DATETIME NOT NULL DEFAULT GETDATE() -- timestamp of execution
|
||||
);
|
||||
GO
|
||||
-- Create JobSchedule table
|
||||
CREATE TABLE dbo.JobSchedule (
|
||||
JobScheduleID INT IDENTITY(1,1) PRIMARY KEY,
|
||||
JobName VARCHAR(100) NOT NULL,
|
||||
Frequency VARCHAR(20) CHECK (Frequency IN ('Monthly','Quarterly')),
|
||||
ScheduledRule NVARCHAR(500) NULL, -- Copy of JSON or rule text from JobControl
|
||||
ScheduledDate DATE NOT NULL, -- Planned date (before adjustment)
|
||||
AdjustedRunDate DATE NOT NULL, -- Final working-day adjusted date
|
||||
MonthOfSchedule CHAR(7) NOT NULL, -- 'YYYY-MM'
|
||||
YearOfSchedule INT NOT NULL,
|
||||
CreatedOn DATETIME DEFAULT GETDATE(),
|
||||
CreatedBy VARCHAR(50) DEFAULT SUSER_SNAME()
|
||||
);
|
||||
GO
|
||||
Reference in New Issue
Block a user