Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Auftragsabhängigkeit des SQL Server-Agents

Bitte pflegen Sie alle Auftragsdetails in einer Tabelle, einschließlich Auftragsstatus, d. h. in Bearbeitung, abgeschlossen. Wenn der tägliche Job ausgeführt wird, müssen Sie den 4. Job erfolgreich abgeschlossen überprüfen, dann Ihren täglichen Job starten und nach Abschluss des 4. Jobs Ihren täglichen Job auslösen.

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

Auftragsstatus – 0 Nicht gestartet, 1 In Bearbeitung, 2 Abgeschlossen, 3 Fehlgeschlagen

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)

Legen Sie die Startzeit vor der Ausführung des Jobs und die Endzeit und den Jobstatus nach Abschluss des Jobs fest

Lösen Sie nach Abschluss des 4. Jobs Ihren täglichen Job aus oder wenn Sie ihn manuell auslösen, prüfen Sie, ob der 4. Job abgeschlossen ist oder nicht

Sie können dafür auch den Aufgabenplaner verwenden.