Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara Menjalankan Pekerjaan Agen SQL Server menggunakan T-SQL

Saat pertama kali membuat tugas Agen Server SQL, Anda mungkin ingin melakukan tes cepat untuk melihat apakah tugas tersebut benar-benar berjalan tanpa masalah.

Ini cukup mudah saat menggunakan GUI SSMS, tetapi bagaimana Anda melakukannya di T-SQL?

Jawaban:sp_start_job prosedur tersimpan.

Contoh

Berikut ini contoh untuk didemonstrasikan:

USE msdb;  
GO  
  
EXEC sp_start_job N'BackupKrankyKranesDB';
GO

Dalam hal ini saya menjalankan pekerjaan yang disebut BackupKrankyKranesDB .

Prosedur tidak mengembalikan set hasil apa pun. Namun, jika Anda menjalankannya di SSMS, Anda mungkin melihat pesan seperti ini:

Job 'BackupKrankyKranesDB' started successfully.
 Completion time: 2020-12-13T19:54:18.3503521-08:00

Parameter

Anda juga dapat memberikan nama parameter. Dalam hal ini, saya bisa melakukan ini:

USE msdb;  
GO  
  
EXEC sp_start_job @job_name = N'BackupKrankyKranesDB';
GO

Anda dapat memberikan nama pekerjaan atau ID pekerjaan (tetapi tidak keduanya). ID pekerjaan adalah pengidentifikasi unik dengan default NULL .

Oleh karena itu, kita dapat melakukan ini sebagai alternatif:

USE msdb;  
GO  
  
EXEC sp_start_job @job_id = '4FAE7031-36E8-4934-81E6-0D561F375627';
GO

Itu adalah ID pekerjaan dari pekerjaan di atas. Jelas Anda harus menggunakan ID pekerjaan yang perlu Anda jalankan. Anda dapat menggunakan sp_help_job prosedur tersimpan untuk mendapatkan ID pekerjaan.

Sintaks

Sintaks sebenarnya seperti ini:

sp_start_job   
     {   [@job_name =] 'job_name'  
       | [@job_id =] job_id }  
     [ , [@error_flag =] error_flag]  
     [ , [@server_name =] 'server_name']  
     [ , [@step_name =] 'step_name']  
     [ , [@output_flag =] output_flag]

Lihat sp_start_job di situs web Microsoft untuk penjelasan setiap argumen.

Lihat Riwayat Pekerjaan

Sekarang setelah kita menjalankan pekerjaan, sekarang kita dapat menggunakan sp_help_jobhistory untuk memeriksa apakah itu telah ditambahkan ke riwayat pekerjaan:

EXEC sp_help_jobhistory 
	@job_name = 'BackupKrankyKranesDB',
	@mode = 'FULL';

Menggunakan @mode = 'FULL' memastikan bahwa kami mendapatkan informasi yang lebih rinci.

Inilah yang saya dapatkan setelah menjalankan pekerjaan:

Lihat sp_help_jobhistory di situs web Microsoft untuk informasi lebih lanjut tentang prosedur tersimpan ini.

Lihat juga 4 Cara Mendapatkan Riwayat Pekerjaan SQL Server untuk opsi lebih lanjut untuk mengembalikan riwayat pekerjaan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bingung tentang UPDLOCK, HOLDLOCK

  2. Ketika prinsip KERING tidak berlaku:operasi BITWISE di SQL Server

  3. SQL Server 2016:Buat Basis Data

  4. Apa cara terbaik untuk mengontrol versi prosedur tersimpan server SQL saya?

  5. Metrik Kinerja SQL Server untuk Tetap Terdepan dalam Game