Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर में sp_add_schedule बनाम sp_add_jobschedule:क्या अंतर है?

यदि आप 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 . का उपयोग करके बाद में अन्य नौकरियों में संलग्न होने के लिए उपलब्ध है ।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटटाइम को VarChar में कैसे बदलें

  2. SQL सर्वर 2019 में MDF फ़ाइलें प्रबंधित करें

  3. SQL सर्वर मेमोरी-ऑप्टिमाइज़्ड टेबल्स में इंडेक्स का उपयोग करना

  4. सिक्योर द्वारा SQL इंजेक्शन अटैक को कैसे रोकें

  5. SQL सर्वर में ट्रिगर की सूची लौटाएं