Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Dependência de trabalho do SQL Server Agent


Mantenha todos os detalhes do trabalho em uma tabela, incluindo o status do trabalho, ou seja, em andamento, concluído. Quando o trabalho diário é executado, você deve verificar o 4º trabalho concluído com sucesso e, em seguida, iniciar seu trabalho diário e, após a conclusão do 4º trabalho, acionar seu trabalho diário.
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

status do trabalho- 0 Não iniciado,1 Em andamento,2 Concluído,3 Com falha
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)

definir a hora de início antes de executar o trabalho e a hora de término e o status do trabalho após a conclusão do trabalho

após a conclusão do 4º trabalho, acione seu trabalho diário ou, se estiver acionando-o manualmente, verifique se o 4º trabalho foi concluído ou não

você também pode usar o agendamento de tarefas para o mesmo.