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

SQL सर्वर एजेंट जॉब (T-SQL) के लिए जॉब स्टेप अपडेट करें

SQL सर्वर में, आप sp_update_jobstep . का उपयोग कर सकते हैं SQL सर्वर एजेंट कार्य के मौजूदा कार्य चरण को संशोधित करने के लिए संग्रहीत कार्यविधि।

जब आप SQL सर्वर एजेंट कार्य बनाते हैं, तो आप उस कार्य के लिए एक या अधिक कार्य चरण बनाते हैं। sp_update_jobstep प्रक्रिया आपको वास्तविक कार्य या किसी अन्य कार्य चरण से स्वतंत्र किसी विशिष्ट कार्य चरण को अद्यतन करने की अनुमति देती है।

उदाहरण

इस उदाहरण में, हम एक जॉब स्टेप के साथ जॉब बनाते हैं, फिर हम sp_update_jobstep का उपयोग करते हैं कार्य चरण को संशोधित करने के लिए।

नौकरी बनाएं

सबसे पहले, नौकरी बनाएं:

USE msdb;  
GO  
EXEC sp_add_job  
    @job_name = N'BackupMoviesDB',
    @description = N'Backup the Movies database.',
    @category_name = 'Database Maintenance';
GO  
EXEC sp_add_jobstep  
    @job_name = N'BackupMoviesDB',  
    @step_name = N'Run the backup',  
    @subsystem = N'TSQL',  
    @command = N'BACKUP DATABASE [Movies] TO DISK = N''C:\Backups\Movies.bak'' WITH CHECKSUM',
    @retry_attempts = 5,  
    @retry_interval = 5;
GO
EXEC sp_add_schedule 
    @schedule_name = N'Run_Sat_5AM',
    @freq_type = 8,
    @freq_interval = 64,
    @freq_recurrence_factor = 1,
    @active_start_time = 050000;
GO  
EXEC sp_attach_schedule  
   @job_name = N'BackupMoviesDB',  
   @schedule_name = N'Run_Sat_5AM';
GO  
EXEC sp_add_jobserver  
    @job_name = N'BackupMoviesDB';
GO

उपरोक्त कोड पांच संग्रहीत कार्यविधियों का उपयोग करता है, लेकिन sp_add_jobstep केवल एक प्रक्रिया है जिसमें विवरण होता है जिसे sp_update_jobstep . के साथ बदला जा सकता है . अन्य प्रक्रियाओं की अपनी मिलान "अपडेट" प्रक्रियाएं होती हैं (जैसे sp_update_job और sp_update_schedule )।

तो बस स्पष्ट होने के लिए, निम्नलिखित भाग वह हिस्सा है जिसे हम sp_update_jobstep के साथ अपडेट कर सकते हैं प्रक्रिया।

EXEC sp_add_jobstep  
    @job_name = N'BackupMoviesDB',  
    @step_name = N'Run the backup',  
    @subsystem = N'TSQL',  
    @command = N'BACKUP DATABASE [Movies] TO DISK = N''C:\Backups\Movies.bak'' WITH CHECKSUM',
    @retry_attempts = 5,  
    @retry_interval = 5;

इस मामले में हमने नौकरी बनाते समय छह तर्क दिए। प्रक्रिया वास्तव में इससे कहीं अधिक स्वीकार करती है, लेकिन यह हमारे उद्देश्यों के लिए काम करेगी।

नौकरी का चरण अपडेट करें

अब हम sp_update_jobstep . का उपयोग कर सकते हैं उपरोक्त कार्य चरण को संशोधित करने के लिए।

EXEC sp_update_jobstep  
    @job_name = N'BackupMoviesDB',
    @step_id = 1,  
    @step_name = N'Run the backup',  
    @subsystem = N'TSQL',  
    @command = N'BACKUP DATABASE [Movies] TO DISK = N''C:\Backups\Movies.bak'' WITH CHECKSUM',
    @retry_attempts = 10,  
    @retry_interval = 5;

यह उदाहरण केवल एक चीज है जो 5 . से पुनः प्रयास करने के प्रयासों को बढ़ाता है करने के लिए 10 .

sp_update_jobstep संग्रहीत प्रक्रिया केवल उन सेटिंग्स को बदलती है जिनके लिए पैरामीटर मान प्रदान किए जाते हैं। यदि कोई पैरामीटर छोड़ा जाता है, तो वर्तमान सेटिंग बनी रहती है।

इसलिए, इस उदाहरण में, हम इस तरह के अन्य तर्कों को छोड़ सकते थे:

EXEC sp_update_jobstep  
    @job_name = N'BackupMoviesDB',
    @step_id = 1,
    @retry_attempts = 10;

नौकरी जांचें

आप sp_help_job का उपयोग कर सकते हैं सिस्टम में SQL सर्वर एजेंट जॉब के बारे में जानकारी प्राप्त करने के लिए।

आप इसे पैरामीटर के साथ या बिना पैरामीटर के उपयोग कर सकते हैं, लेकिन कार्य चरण विवरण प्राप्त करने के लिए, आपको कार्य का नाम या आईडी प्रदान करना होगा।

इस तरह:

EXEC sp_help_job 
	@job_name = 'BackupMoviesDB';

SSMS में इसे निष्पादित करते समय परिणाम कैसा दिखता है:

आईडी का उपयोग करते समय कोड का एक उदाहरण यहां दिया गया है:

EXEC sp_help_job 
	@job_id = '158D714B-6686-48FD-BB41-D35C6EE70AED';

आईडी का उपयोग करते समय, आप चाहें तो पैरामीटर नाम को छोड़ सकते हैं।

उदाहरण:

EXEC sp_help_job '158D714B-6686-48FD-BB41-D35C6EE70AED';

पूर्ण सिंटैक्स

sp_update_jobstep . का पूरा सिंटैक्स इस तरह जाता है:

sp_update_jobstep   
     {   [@job_id =] job_id   
       | [@job_name =] 'job_name' } ,  
     [@step_id =] step_id  
     [ , [@step_name =] 'step_name' ]  
     [ , [@subsystem =] 'subsystem' ]   
     [ , [@command =] 'command' ]  
     [ , [@additional_parameters =] 'parameters' ]  
     [ , [@cmdexec_success_code =] success_code ]  
     [ , [@on_success_action =] success_action ]   
     [ , [@on_success_step_id =] success_step_id ]  
     [ , [@on_fail_action =] fail_action ]   
     [ , [@on_fail_step_id =] fail_step_id ]  
     [ , [@server =] 'server' ]   
     [ , [@database_name =] 'database' ]  
     [ , [@database_user_name =] 'user' ]   
     [ , [@retry_attempts =] retry_attempts ]  
     [ , [@retry_interval =] retry_interval ]   
     [ , [@os_run_priority =] run_priority ]  
     [ , [@output_file_name =] 'file_name' ]   
     [ , [@flags =] flags ]  
     [ ,  {   [ @proxy_id = ] proxy_id   
            | [ @proxy_name = ] 'proxy_name' }

sp_update_jobstep . के लिए Microsoft के दस्तावेज़ देखें प्रत्येक पैरामीटर के स्पष्टीकरण के लिए, साथ ही साथ प्रत्येक मान जो स्वीकार करता है।

ध्यान दें कि जॉब स्टेप को अपडेट करने से जॉब वर्जन नंबर बढ़ जाता है।


  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 सर्वर में BETWEEN ऑपरेटर का उपयोग कैसे करें

  2. SQL सर्वर 2019 में त्वरित डेटाबेस रिकवरी

  3. SQL सर्वर (T-SQL) में वर्तमान दिनांक स्वरूप कैसे बदलें

  4. सी # का उपयोग कर SQL सर्वर तालिका परिवर्तनों की निगरानी कैसे करें?

  5. SQL सर्वर 2019 में ट्रिगर इवेंट प्रकारों की श्रेणीबद्ध सूची