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

Menggunakan sp_help_jobschedule di SQL Server

Di SQL Server, sp_help_jobschedule prosedur tersimpan mengembalikan informasi tentang penjadwalan pekerjaan.

Artikel ini memberikan ikhtisar tentang prosedur tersimpan ini termasuk contohnya.

Sintaks

Sintaks resminya seperti ini:

sp_help_jobschedule { [ @job_id = ] job_id | [ @job_name = ] 'job_name' }  
     [ , [ @schedule_name = ] 'schedule_name' ]  
     [ , [ @schedule_id = ] schedule_id ]  
     [ , [ @include_description = ] include_description ]

Saat Anda menelepon sp_help_jobschedule , Anda harus memberikan nama pekerjaan atau ID-nya (tetapi tidak keduanya), atau ID jadwal. Anda juga dapat melewati nama jadwal tetapi hanya dengan kombinasi dengan ID pekerjaan atau namanya.

Kombinasi yang diterima agak rumit. Pada dasarnya, ini seperti ini:

Jika schedule_id tidak ditentukan, baik job_id atau job_name dapat ditentukan. Jika tidak, job_id atau job_name parameter dapat digunakan dengan schedule_name .

Namun, Anda tidak akan dapat menggunakan schedule_id jika jadwal dilampirkan ke beberapa pekerjaan.

Perhatikan bahwa sp_help_jobschedule ada di msdb database, sehingga perlu dijalankan dari sana. Anda dapat melakukannya dengan beralih ke msdb database (misalnya dengan USE msdb ), atau dengan mengkualifikasikan prosedur dengan nama dan skema database (yaitu msdb.dbo.sp_help_jobschedule ).

Contoh

Berikut ini contoh untuk menunjukkan cara mengembalikan semua jadwal yang dilampirkan ke pekerjaan tertentu:

EXEC sp_help_jobschedule
	@job_name = 'SqlAgentTest';

Hasil:

Ini mengembalikan daftar jadwal yang dilampirkan ke pekerjaan yang ditentukan dengan @job_name argumen.

Atau, saya bisa melewati @job_id :

EXEC sp_help_jobschedule
	@job_id = '8A6E1BFF-9F46-4FF9-8E63-ABC8B224B6F8';

Tapi dalam hal ini, saya tidak bisa menggunakan @job_name (itu salah satu atau yang lain).

Saat menggunakan ID pekerjaan, Anda dapat menghilangkan nama parameter jika diinginkan:

EXEC sp_help_jobschedule '8A6E1BFF-9F46-4FF9-8E63-ABC8B224B6F8';

Menggunakan @schedule_id Parameter

Anda juga bisa mendapatkan jadwal berdasarkan ID-nya:

EXEC sp_help_jobschedule
	@schedule_id = 15;

Ini berfungsi dengan baik selama jadwal tidak dilampirkan ke banyak pekerjaan.

Inilah yang terjadi ketika jadwal dilampirkan ke beberapa pekerjaan:

EXEC sp_help_jobschedule
	@schedule_id = 14;

Hasil:

Msg 14369, Level 16, State 1, Procedure sp_help_jobschedule, Line 69 [Batch Start Line 22]
 The schedule ID "14" is used by more than one job. Specify the job_id.

Dan meskipun meminta untuk menentukan job_id , jika Anda melakukannya, Anda harus menghapus schedule_id (seperti yang disebutkan, jika Anda melewati schedule_id , Anda tidak dapat menyertakan job_name atau job_id ).

Untuk mendemonstrasikannya, jika saya cukup menambahkan job_id dan simpan schedule_id di sana, saya mendapatkan kesalahan berikut.

EXEC sp_help_jobschedule
	@job_id = '8A6E1BFF-9F46-4FF9-8E63-ABC8B224B6F8',
	@schedule_id = 14;

Hasil:

Msg 14273, Level 16, State 1, Procedure sp_help_jobschedule, Line 51 [Batch Start Line 22]
 You must provide either @job_id or @job_name (and, optionally, @schedule_name), or @schedule_id.

Sertakan Deskripsi

Hal lain yang dapat Anda lakukan adalah menentukan apakah akan menyertakan deskripsi jadwal atau tidak.

Secara default, deskripsi tidak disertakan dalam kumpulan hasil. Sebenarnya, schedule_description kolom adalah disertakan, tetapi tidak berisi deskripsi, kecuali jika Anda memintanya secara eksplisit. Jika Anda tidak memintanya, schedule_description kolom menampilkan (Description not requested.) .

@include_description parameternya adalah bit , dengan default 0 , yang berarti tidak menampilkan deskripsi. Melewati nilai 1 menghasilkan deskripsi yang ditampilkan.

EXEC sp_help_jobschedule
	@job_name = 'SqlAgentTest',
	@include_description = 1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Temukan Tipe Data Kolom yang Dikembalikan dalam Kumpulan Hasil di SQL Server

  2. Bagaimana cara melewatkan daftar sebagai parameter dalam prosedur tersimpan?

  3. Temukan Nilai Non-Numerik dalam Kolom di SQL Server

  4. Gunakan IDENT_CURRENT() untuk Mengembalikan Nilai Identitas Saat Ini pada Kolom Identitas di SQL Server

  5. Menjalankan prosedur tersimpan yang dijadwalkan pada SQL server