เนื่องจากฉันเป็น DBA (และในหลาย ๆ กรณีระบบปฏิบัติการจริง) ดังนั้น SQL Server จึงได้รับการติดตั้งบนเซิร์ฟเวอร์ทุกเครื่องที่ฉันต้องทำงานเป็นประจำ ฉันเพิ่งรู้ว่าฉันใช้ SQL Agent เป็นตัวกำหนดเวลางานในเกือบทุกกรณีแทนที่จะเป็น Windows Task Scheduler
จากมุมมองของฉันตัวแทน SQL มีข้อได้เปรียบเหนือ Windows Task Scheduler หลายประการ:
- รีโมต (จากเวิร์กสเตชันของฉัน) เริ่ม / หยุด / ตรวจสอบงาน
- แชร์กำหนดการ (ไม่ใช่แต่ละงานด้วยตัวเอง)
- หลายขั้นตอนและการควบคุมการไหล
- งานประเภทต่าง ๆ
- แจ้งเตือนเมื่อความล้มเหลว / เสร็จสิ้น
- สามารถกำหนดค่าให้ทำหน้าที่ผู้ใช้ที่แตกต่างกัน
- (ปานกลาง) ข้อความแสดงข้อผิดพลาดอธิบายมากกว่ารหัสข้อผิดพลาด
อย่างไรก็ตามฉันไม่สามารถหลบหนีจากความรู้สึกที่ว่านี่เป็นแนวปฏิบัติที่ไม่ดี - SQL Agent ควรสำรองไว้สำหรับงานที่เกี่ยวข้องกับฐานข้อมูลเท่านั้นและฉันควรปล่อยให้ระบบปฏิบัติการระดับทำงานใน Windows Task Scheduler แม้ว่าฉันจะไม่ชอบการใช้งานก็ตาม
มันจะโอเคที่จะใช้เอเจนต์ SQL ด้วยวิธีนี้หรือไม่? ถ้าไม่ฉันควรพิจารณาตัวจัดกำหนดการงาน Windows ของ บริษัท อื่นเพื่อรับฟังก์ชั่นบางอย่างที่ฉันกำลังมองหาอยู่หรือไม่?