2009-05-14 24 views

Trả lời

64

Tác nhân máy chủ SQL kiểm tra xem công việc đã chạy chưa trước khi bắt đầu một lần lặp mới. Nếu bạn có công việc chạy dài và lịch trình của nó xuất hiện, nó sẽ bị bỏ qua cho đến khoảng thời gian tiếp theo.

Bạn có thể tự mình thử tính năng này. Nếu bạn cố gắng bắt đầu một công việc đang chạy, bạn sẽ gặp phải lỗi cho hiệu ứng đó.

+0

Tuyệt vời, đó là chính xác những gì tôi muốn biết. Tôi có một trình kiểm tra email mà đôi khi phải mất một lúc để tải xuống các e-mail lớn. Bởi vì nó chạy mỗi phút, điều quan trọng là một ví dụ thứ hai của công việc không được bắt đầu nếu người đầu tiên chưa hoàn thành. –

+0

Có cách nào để đạt được điều này, tôi có nghĩa là tránh bỏ qua và bắt đầu một ví dụ khác của công việc? Hoặc chỉ có thể được thực hiện tạo một công việc SQL khác? Cảm ơn –

3

Tôi chắc chắn nó sẽ bỏ qua nếu nó đang chạy.

2

Bạn đang sử dụng phiên bản SQL Server nào? Điều này có vẻ như một điều khá dễ dàng để kiểm tra. Thiết lập một công việc với một WAITFOR trong đó chèn một hàng vào bảng và thiết lập công việc để chạy hai lần liên tiếp nhanh (ngắn hơn WAITFOR DELAY).

Khi chạy thử nghiệm như vậy trong SQL Server 2005, nó bỏ qua chạy đã bị chồng chéo.

+0

Tôi đã dự tính thực hiện điều này- nhưng có vẻ như dễ dàng hơn khi google và .. voila – Paul

Các vấn đề liên quan