Vì tôi là một DBA (và trong nhiều trường hợp là sysadmin thực tế), SQL Server được cài đặt trên hầu hết mọi máy chủ mà tôi phải làm việc thường xuyên. Gần đây tôi nhận ra rằng tôi đã sử dụng SQL Agent làm công cụ lập lịch công việc trong hầu hết mọi trường hợp, thay vì Trình lập lịch tác vụ Windows gốc.
Từ quan điểm của tôi, Tác nhân SQL có một số lợi thế so với Trình lập lịch tác vụ Windows gốc:
- Điều khiển từ xa (từ máy trạm của tôi) bắt đầu / dừng / giám sát các tác vụ
- Lịch trình được chia sẻ (chứ không phải mỗi nhiệm vụ riêng)
- Nhiều bước và điều khiển luồng
- Các loại nhiệm vụ khác nhau
- Cảnh báo về thất bại / hoàn thành
- Có thể được cấu hình để hoạt động như những người dùng khác nhau
- (Trung bình) thông báo lỗi mô tả, thay vì chỉ là một mã lỗi
Tuy nhiên, tôi không thể thoát khỏi cảm giác rằng đây là một thực tiễn tồi - Tác nhân SQL nên được dành riêng cho các tác vụ liên quan đến cơ sở dữ liệu và tôi nên để các tác vụ cấp hệ điều hành chạy trong Trình lập lịch tác vụ Windows, mặc dù tôi không thích tính khả dụng của nó.
Có thể dựa vào Đại lý SQL theo cách này không? Nếu không, tôi có nên xem xét một bộ lập lịch tác vụ Windows của bên thứ ba để có được một số chức năng mà tôi đang tìm kiếm không?