यदि आप T-SQL के साथ SQL सर्वर एजेंट जॉब बनाने की प्रक्रिया में हैं, तो आप सोच रहे होंगे कि क्या इसका शेड्यूल sp_add_schedule
के साथ बनाया जाए। संग्रहीत कार्यविधि या sp_add_jobschedule
प्रक्रिया।
इन दो प्रक्रियाओं के बीच अंतर की एक त्वरित व्याख्या यहां दी गई है।
अंतर
sp_add_schedule
प्रक्रिया एक शेड्यूल बनाती है, लेकिन इसे किसी भी कार्य से नहीं जोड़ती है। ऐसा करने के लिए, आपकोsp_attach_schedule
. का उपयोग करना होगा प्रक्रिया।sp_add_jobschedule
प्रक्रिया शेड्यूल बनाती है और उसे एक ही बार में किसी दिए गए कार्य से जोड़ देती है।
इसलिए, sp_add_jobschedule
यदि आपको किसी विशिष्ट कार्य के लिए एक नया शेड्यूल बनाने की आवश्यकता है, और वह कार्य पहले से मौजूद है, तो इसका उपयोग करना ठीक है। यदि आप अनेक कार्यों के लिए शेड्यूल बना रहे हैं, और उनमें से कोई भी अभी तक मौजूद नहीं है, तो आप sp_add_schedule
का उपयोग कर सकते हैं . फिर आप sp_attach_schedule
. का उपयोग कर सकते हैं इसे बाद में अपनी नौकरियों में संलग्न करने के लिए।
लेकिन इसका मतलब यह नहीं है कि आप sp_add_schedule
. का उपयोग नहीं कर सकते हैं sp_add_jobschedule
. के बजाय अगर नौकरी पहले से मौजूद है।
sp_add_schedule
Using का उपयोग करना (sp_attach_schedule
. के संयोजन के साथ ) आपको शेड्यूल बनाने और उन्हें नौकरियों से जोड़ने की प्रक्रिया को अलग करने की अनुमति देता है। आप इस कॉम्बो का उपयोग तब भी कर सकते हैं, जब एक ही शेड्यूल के साथ एक ही जॉब बनाते हैं।
दूसरे शब्दों में, आप sp_add_schedule
. का उपयोग कर सकते हैं sp_add_jobschedule
. के बजाय आपके सभी SQL सर्वर एजेंट कार्यों के लिए।
उदाहरण
sp_add_jobschedule
प्रक्रिया
sp_add_jobschedule
प्रक्रिया किसी दिए गए SQL सर्वर एजेंट कार्य के लिए एक शेड्यूल बनाती है। जब आप इस प्रक्रिया को कहते हैं, तो आपको उस नौकरी का नाम या आईडी प्रदान करनी होगी जिस पर आप इसे लागू करना चाहते हैं।
मूल रूप से, यह प्रक्रिया एक शेड्यूल बनाती है और इसे एक ही कार्य से जोड़ती है।
यहां नौकरी बनाने और sp_add_jobschedule
. का उपयोग करने का एक उदाहरण दिया गया है संग्रहित प्रक्रिया:
EXEC sp_add_jobschedule
@job_name = N'BackupMusicDB',
@name = N'Weekly_Sun_3AM',
@freq_type = 8,
@freq_interval = 1,
@freq_recurrence_factor = 1,
@active_start_time = 30000;
जब आप sp_add_jobschedule
को देखते हैं प्रक्रिया, @job_name
तर्क नौकरी का नाम प्रदान करता है। @name
तर्क वह नाम प्रदान करता है जिसे आप शेड्यूल को देना चाहते हैं।
sp_add_schedule
प्रक्रिया
sp_add_schedule
प्रक्रिया आपको इसे संलग्न करने के लिए कार्य निर्दिष्ट किए बिना एक शेड्यूल बनाने की अनुमति देती है।
यह प्रक्रिया शेड्यूल बनाती है, लेकिन यह इसे किसी भी कार्य से नहीं जोड़ती है। इसे किसी कार्य से जोड़ने के लिए, आपको sp_attach_schedule
. का उपयोग करना होगा प्रक्रिया।
यहां एक उदाहरण दिया गया है:
EXEC sp_add_schedule
@schedule_name = N'RunDailyAM',
@freq_type = 4,
@freq_interval = 4,
@active_start_time = 041000;
GO
EXEC sp_attach_schedule
@job_name = N'BackupPetHotelDB',
@schedule_name = N'RunDailyAM';
GO
जब आप sp_attach_schedule
. का उपयोग करते हैं , आपको कार्य का नाम या उसकी आईडी (लेकिन दोनों नहीं), साथ ही शेड्यूल नाम या आईडी (लेकिन दोनों नहीं) प्रदान करनी होगी।
एक sp_add_jobschedule
संलग्न करना शेड्यूल
यह नोट करना महत्वपूर्ण है कि sp_attach_schedule
दोनों के साथ बनाए गए शेड्यूल संलग्न कर सकते हैं sp_add_schedule
और sp_add_jobschedule
. के साथ ।
दूसरे शब्दों में, sp_add_jobschedule
. के साथ एक शेड्यूल बनाना शेड्यूल बनाते समय इसे केवल आपके द्वारा निर्दिष्ट कार्य तक सीमित नहीं करता है। यह अभी भी sp_attach_schedule
. का उपयोग करके बाद में अन्य नौकरियों में संलग्न होने के लिए उपलब्ध है ।