sql >> Databasteknik >  >> RDS >> Sqlserver

SQL Server Agent jobbberoende

Vänligen behåll alla jobbdetaljer i en tabell inklusive jobbstatus, dvs. pågår, slutfört. När det dagliga jobbet körs måste du kontrollera att det fjärde jobbet har slutförts framgångsrikt, sedan starta ditt dagliga jobb och efter avslutat fjärde jobb utlösa ditt dagliga jobb.

create TABLE [dbo].[tblDailyJob](
    [JobId] [int] NOT NULL,
    [JobDesc] [varchar](500) NOT NULL,
    [JobStartTime] [datetime] NULL,
    [JobEndTime] [datetime] NULL,
    [JobStatus] [int] NOT NULL,
 CONSTRAINT [PK_tblDailyJob] PRIMARY KEY CLUSTERED 
(
    [JobId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

ALTER TABLE [dbo].[tblDailyJob] ADD  CONSTRAINT [DF_tblDailyJob_JobStatus]  DEFAULT ((0)) FOR [JobStatus]
GO

jobbstatus- 0 Ej startat,1 Pågår,2 Slutfört,3 Misslyckades

insert into tblDailyJob values(1,'1st Job',null,null,0)
insert into tblDailyJob values(2,'2nd Job',null,null,0)
insert into tblDailyJob values(3,'3rd Job',null,null,0)
insert into tblDailyJob values(4,'4th Job',null,null,0)
insert into tblDailyJob values(5,'Daily Job',null,null,0)

ställ in starttid innan jobbet utförs och sluttid och jobbstatus efter avslutat jobb

efter slutförandet av det fjärde jobbet utlösa ditt dagliga jobb eller om du utlöser det manuellt, kontrollera att det fjärde jobbet är klart eller inte

du kan också använda uppgiftsschema för detsamma.



  1. Varför skulle ett IN-villkor vara långsammare än =i sql?

  2. Övervakning av PostgreSQL i en hybridmiljö

  3. Kontrollera om det finns samma rader i en while-loop och lägg dem i en separat tabell

  4. PDO:kontrollera om det finns uppdaterad eller infogat post med mysql INFOGA PÅ DUBLIKATNYCKELUPPDATERING