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

T-SQL का उपयोग करके SQL सर्वर एजेंट जॉब बनाएँ

SQL सर्वर एजेंट एक Microsoft Windows सेवा है जो अनुसूचित प्रशासनिक कार्यों को निष्पादित करती है, जिन्हें नौकरियां . कहा जाता है SQL सर्वर में।

T-SQL में संग्रहीत कार्यविधियों का एक बड़ा संग्रह शामिल है जो SQL सर्वर एजेंट कार्यों से संबंधित है।

यहां, हम उनमें से कुछ का उपयोग SQL सर्वर एजेंट कार्य बनाने और शेड्यूल करने के लिए करेंगे।

आप चाहें तो GUI (SSMS में) के माध्यम से SQL सर्वर एजेंट जॉब भी बना सकते हैं।

एजेंट XP सक्षम करें

यदि आप पहली बार अपने SQL सर्वर इंस्टेंस पर SQL सर्वर एजेंट जॉब बना रहे हैं, तो आपको संभवतः SQL सर्वर एजेंट विस्तारित संग्रहीत कार्यविधियाँ (एजेंट XP) को सक्षम करने की आवश्यकता होगी।

यहां टी-एसक्यूएल का उपयोग करके इसे कैसे करना है, और यहां एसएसएमएस जीयूआई का उपयोग करके इसे कैसे करना है।

एक बार ऐसा करने के बाद, आप जारी रख सकते हैं और नीचे दिए गए की तरह एक SQL सर्वर एजेंट कार्य बना सकते हैं।

उदाहरण

SQL सर्वर एजेंट कार्य बनाने और शेड्यूल करने के लिए उपयोग किए गए कोड का एक उदाहरण यहां दिया गया है।

USE msdb;  
GO  
EXEC sp_add_job  
    @job_name = N'BackupPetHotelDB' ;  
GO  
EXEC sp_add_jobstep  
    @job_name = N'BackupPetHotelDB',  
    @step_name = N'Run the backup',  
    @subsystem = N'TSQL',  
    @command = N'BACKUP DATABASE [PetHotel] TO DISK = N''C:\Backups\PetHotel.bak'' WITH CHECKSUM',
    @retry_attempts = 5,  
    @retry_interval = 5;  
GO
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  
EXEC sp_add_jobserver  
    @job_name = N'BackupPetHotelDB';  
GO

यहां, हम कार्य बनाने और शेड्यूल करने के लिए पांच संग्रहीत कार्यविधियों का उपयोग करते हैं। इन प्रक्रियाओं में से अधिकांश इस उदाहरण में मेरे द्वारा उपयोग किए गए तर्कों की तुलना में बहुत अधिक (वैकल्पिक) तर्क स्वीकार करते हैं। प्रत्येक प्रक्रिया के लिए उपलब्ध तर्कों की पूरी सूची के लिए, नीचे दी गई तालिका में लिंक देखें।

ये संग्रहीत कार्यविधियाँ msdb . में हैं डेटाबेस, और आप देख सकते हैं कि हमने msdb . सेट किया है वर्तमान डेटाबेस के रूप में हम उन्हें चलाने से पहले। वैकल्पिक रूप से, आप उन्हें डेटाबेस नाम से योग्य बना सकते हैं (उदा. msdb.dbo.sp_add_job... , आदि)

निम्न तालिका प्रत्येक प्रक्रिया का त्वरित अवलोकन प्रदान करती है।

<थ>विवरण
संग्रहीत प्रक्रिया
sp_add_job SQL एजेंट सेवा द्वारा निष्पादित एक नया कार्य जोड़ता है।

अधिक जानकारी के लिए माइक्रोसॉफ्ट वेबसाइट देखें।
sp_add_jobstep एक चरण जोड़ता है जो उस कार्य के लिए वास्तविक संचालन करता है जिसे sp_add_job के साथ जोड़ा गया था .

उपरोक्त उदाहरण में, हम डेटाबेस के बैकअप के लिए एक चरण जोड़ते हैं। हम निर्दिष्ट करते हैं कि एक टी-एसक्यूएल कमांड प्रदान करना।

@retry_interval मिनटों में है।

अधिक जानकारी के लिए माइक्रोसॉफ्ट वेबसाइट देखें।
sp_add_schedule एक शेड्यूल बनाता है जिसका उपयोग किसी भी संख्या में नौकरियों द्वारा किया जा सकता है।

इस मामले में, हमने @freq_type gave दिया 4 . का मान जो दैनिक है। हमने @freq_interval भी दिया 4 . का मान , जो दैनिक भी है।

समय 24 घंटे की घड़ी पर आधारित है, और एचएचएमएमएसएस के रूप में दर्ज किया गया है। हमारा उदाहरण 041000 . का उपयोग करता है , जो 04:10:00 बजे है।

फ़्रीक्वेंसी सेट करते समय उपलब्ध विभिन्न विकल्पों के लिए नीचे दिया गया Microsoft लिंक देखें।

अधिक जानकारी के लिए माइक्रोसॉफ्ट वेबसाइट देखें।
sp_attach_schedule कार्य के लिए शेड्यूल सेट करता है। यहां, हम उस शेड्यूल को संलग्न करते हैं जिसे हमने sp_add_schedule . के साथ जोड़ा है उस कार्य में जिसे हमने sp_add_job . के साथ जोड़ा है .

ध्यान दें कि शेड्यूल और कार्य का स्वामी एक ही होना चाहिए।

साथ ही, एक से अधिक कार्यों के लिए एक शेड्यूल सेट किया जा सकता है, और एक जॉब को एक से अधिक शेड्यूल पर चलाया जा सकता है।

अधिक जानकारी के लिए माइक्रोसॉफ्ट वेबसाइट देखें।
sp_add_jobserver निर्दिष्ट सर्वर पर निर्दिष्ट कार्य को लक्षित करता है। यह एक @server_name भी स्वीकार करता है सर्वर निर्दिष्ट करने के लिए तर्क।

डिफ़ॉल्ट मान (LOCAL) है स्थानीय मशीन के लिए। हमारे उदाहरण में, हमने स्थानीय मशीन का उपयोग किया था और इसलिए हम इस तर्क को छोड़ने में सक्षम थे।

अधिक जानकारी के लिए माइक्रोसॉफ्ट वेबसाइट देखें।

नौकरी देखें

आप sp_help_job का उपयोग कर सकते हैं msdb . में संग्रहीत कार्यविधि सर्वर पर बनाए गए SQL सर्वर एजेंट नौकरियों को देखने के लिए डेटाबेस।

EXEC sp_help_job;

यह मेरी परीक्षण मशीन पर कैसा दिखता है:

इस मामले में तीन काम हैं।

जब आपको SQL Server Agent> Jobs . मिल जाए तो आप ऑब्जेक्ट एक्सप्लोरर में जॉब भी देख सकते हैं नोड का विस्तार किया गया।

sp_help_job संग्रहीत प्रक्रिया आपको उस नौकरी के बारे में अधिक विस्तृत जानकारी प्राप्त करने के लिए नौकरी का नाम या आईडी प्रदान करने की अनुमति देती है।

उदाहरण:

EXEC sp_help_job @job_name= 'BackupPetHotelDB';

परिणाम:

परिणामों को मुख्य कार्य विवरण, कार्य चरणों, कार्य अनुसूचियों और कार्य लक्ष्य सर्वरों में विभाजित किया गया है। यह काफी हद तक उस संग्रहीत कार्यविधियों को दर्शाता है जो हमने कार्य सृजित करते समय चलाई थीं।

sp_help_job . के लिए Microsoft दस्तावेज़ देखें अधिक जानकारी के लिए, साथ ही अन्य तर्कों की एक सूची जो आप प्रदान कर सकते हैं।

नौकरी का परीक्षण करें

आप sp_start_job का उपयोग कर सकते हैं यह जांचने के लिए संग्रहीत प्रक्रिया है कि आपका काम चलेगा। यह प्रक्रिया नौकरी के नाम या आईडी को स्वीकार करती है और जैसे ही आप इस प्रक्रिया को अंजाम देंगे, यह काम चलाएगी।

उदाहरण के लिए टी-एसक्यूएल का उपयोग करके SQL सर्वर एजेंट जॉब कैसे चलाएं देखें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर फ़ेलओवर क्लस्टर में सिस्टम डेटाबेस ले जाएँ

  2. अपने डेटा को क्षैतिज कैसे बनाएं

  3. बिना किसी विफलता के SQL सर्वर लेनदेन लॉग फ़ाइल को कैसे पढ़ें के लिए समाधान

  4. SQL सर्वर DELETE - थोड़े उन्नत परिदृश्य वाली तालिका से एक या अधिक पंक्तियों को हटाना

  5. SQL सर्वर डेटाबेस स्नैपशॉट -2