Vì vậy, có một công việc ETL chạy qua các dịch vụ tích hợp mà tôi bắt đầu bằng tên công việc SQL StartStageStore. Bước cuối cùng của công việc này là bắt đầu một công việc khác và báo cáo thành công. Công việc mà cuộc gọi này được gọi là LoopStageStore. Tất cả LoopStageStore thực hiện một quy trình được lưu trữ, khởi động lại công việc StartStageStore một lần nữa theo cách này, chúng tôi liên tục kéo dữ liệu nguồn vào hệ thống của mình. Công việc này đã được chạy trong nhiều tuần nay mà không thất bại. Cho đến hai đêm qua, tôi bắt đầu gặp lỗi này "Được thực thi với tư cách là người dùng: AgentUser. Lỗi SQLServerAgent: Yêu cầu chạy công việc Giai đoạn / Cửa hàng AgentUser đã từ chối vì công việc đã chạy từ yêu cầu của User AgentUser. [SQLSTATE 42000] (Lỗi 22022) Bước thất bại. "
Điều này không nên xảy ra khi công việc StartStageStore kết thúc và không còn chạy khi LoopStageStore đã bắt đầu.

Ở đây chúng ta có thể thấy bước cuối cùng được thực hiện lúc 12:19:14.
Và công việc tiếp theo thất bại lúc 12:19:15 Nói rằng StartStageStore hiện đang chạy. Tôi đã có một cách giải quyết cho vấn đề này khi tôi chỉ trì hoãn công việc thứ hai. Tôi chỉ tự hỏi nếu có ai biết tại sao điều này sẽ xảy ra.
BEGIN
WAITFOR DELAY '00:01';
EXECUTE dbo.LoopStageStore
END; GO