I have an automated check script for each morning where the user will be informed of the current number of jobs running as long as they don't fall into the category of "expected running jobs".
I would expected StatusID
to be GREEN for IMPORT
and AMBER for BATCH
due to the current counts being 4 and 3 respectivley
My current code is
DECLARE @Datecreated DATETIME = GetDate())
DECLARE @JobInfo AS TABLE
(
JobType INT,
JobID NVARCHAR(30),
StatusID NVARCHAR(30),
Message NVARCHAR(500),
DateCreated DATETIME,
ITEMS INT
)
INSERT INTO @JobInfo (JobType,JobID,StatusID,Message, DateCreated,ITEMS)
SELECT
0 as Jobtype,
'BATCH' AS JobID,
CASE WHEN Count(CASE JobTypeID WHEN 1 THEN 0 WHEN 30 THEN 0 WHEN 234 THEN 0 ELSE 1 end) >0 THEN N'AMBER' ELSE N'GREEN' END,
'Jobs running longer than 1 hour (ITEMS)',
CAST( @DateCreated AS NVARCHAR(30)),
COUNT(CASE JobTypeID WHEN 1 THEN 0 WHEN 30 THEN 0 WHEN 234 THEN 0 ELSE 1 end)
FROM BATCH.dbo.JOB (NOLOCK) WHERE StatusID = 3
AND JobTypeID NOT IN (1,30,4005)
INSERT INTO @JobInfo (JobType,JobID,StatusID,Message, DateCreated,ITEMS)
SELECT
0 as Jobtype,
'IMPORT' AS JobID,
CASE WHEN Count(CASE JobTypeID WHEN 191 THEN 0 WHEN 124 THEN 0 WHEN 4005 THEN 0 ELSE 1 end) >0 THEN N'AMBER' ELSE N'GREEN' END,
'Jobs running longer than 1 hour (ITEMS)',
CAST( @DateCreated AS NVARCHAR(30)),
COUNT(CASE JobTypeID WHEN 191 THEN 0 WHEN 124 THEN 0 WHEN 4005 THEN 0 ELSE 1 end)
FROM IMPORT.dbo.JOB (NOLOCK) WHERE StatusID = 3
AND JobTypeID NOT IN (191,124,4005)
SELECT * FROM @JobInfo
However currently the StatusID
is AMBER for both and the ITEMS
are 2 and 4 respectively
SELECT * FROM BATCH.dbo.JOB (NOLOCK) WHERE StatusID = 3 --shows 4 rows, 30,1,1072,234
SELECT * FROM IMPORT.dbo.JOB (NOLOCK) WHERE StatusID = 3 --shows 3 rows, 4005,124,191
Could someone please help explain why this is the case?