sql >> データベース >  >> RDS >> Sqlserver

SQL Server エージェント ジョブの依存関係

    進行中、完了など、ジョブのステータスを含むすべてのジョブの詳細を 1 つのテーブルにまとめてください。デイリー ジョブの実行時に、4 番目のジョブが正常に完了したことを確認してから、デイリー ジョブを開始し、4 番目のジョブの完了後にデイリー ジョブをトリガーする必要があります。

    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
    

    ジョブのステータス- 0 開始されていません,1 進行中,2 完了,3 失敗

    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)
    

    ジョブを実行する前に開始時刻を設定し、ジョブの完了後に終了時刻とジョブステータスを設定します

    4 番目のジョブの完了後、毎日のジョブをトリガーするか、手動でトリガーしている場合は、4 番目のジョブが完了したかどうかを確認します

    同じためにタスク スケジューラを使用することもできます。



    1. 10進数のフィールドで失敗するMySqlクエリより大きくて小さい

    2. RDSソリューションのビッグテーブルをテーブルフルエラーに変更

    3. WordPressのpre_get_postsが機能しない

    4. mysqlストアド関数パラメーター