Bagikan melalui


sp_help_job (T-SQL)

Berlaku untuk: SQL Server

Mengembalikan informasi tentang pekerjaan yang digunakan oleh SQL Server Agent untuk melakukan aktivitas otomatis di SQL Server.

Konvensi sintaks transact-SQL

Sintaks

sp_help_job
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @job_aspect = ] 'job_aspect' ]
    [ , [ @job_type = ] 'job_type' ]
    [ , [ @owner_login_name = ] N'owner_login_name' ]
    [ , [ @subsystem = ] N'subsystem' ]
    [ , [ @category_name = ] N'category_name' ]
    [ , [ @enabled = ] enabled ]
    [ , [ @execution_status = ] execution_status ]
    [ , [ @date_comparator = ] 'date_comparator' ]
    [ , [ @date_created = ] date_created ]
    [ , [ @date_last_modified = ] date_last_modified ]
    [ , [ @description = ] N'description' ]
[ ; ]

Argumen

[ @job_id = ] 'job_id'

Nomor identifikasi pekerjaan. @job_id adalah uniqueidentifier, dengan default NULL.

Untuk melihat pekerjaan tertentu, @job_id atau @job_name harus ditentukan. Hilangkan @job_id dan @job_name untuk mengembalikan informasi tentang semua pekerjaan.

[ @job_name = ] N'job_name'

Nama pekerjaan. @job_name adalah sysname, dengan default NULL.

Untuk melihat pekerjaan tertentu, @job_id atau @job_name harus ditentukan. Hilangkan @job_id dan @job_name untuk mengembalikan informasi tentang semua pekerjaan.

[ @job_aspect = ] 'job_aspect'

Atribut pekerjaan yang akan ditampilkan. @job_aspect adalah varchar(9), dan bisa menjadi salah satu nilai ini.

Nilai Deskripsi
ALL Informasi aspek pekerjaan
JOB Informasi pekerjaan
SCHEDULES Informasi jadwal
STEPS Informasi langkah pekerjaan
TARGETS Informasi target

[ @job_type = ] 'job_type'

Jenis pekerjaan yang akan disertakan dalam laporan.@job_type adalah varchar(12), dengan default NULL. @job_type bisa LOCAL atau MULTI-SERVER.

[ @owner_login_name = ] N'owner_login_name'

Nama login pemilik pekerjaan. @owner_login_name adalah sysname, dengan default NULL.

[ @subsystem = ] N'subsistem'

Nama subsistem. @subsystem adalah nvarchar(40), dengan default NULL.

[ @category_name = ] N'category_name'

Nama kategori. @category_name adalah sysname, dengan default NULL.

[ @enabled = ] diaktifkan

Angka yang menunjukkan apakah informasi ditampilkan untuk pekerjaan yang diaktifkan atau pekerjaan yang dinonaktifkan. @enabled kecil, dengan default NULL.

  • 1 menunjukkan pekerjaan yang diaktifkan.
  • 0 menunjukkan pekerjaan yang dinonaktifkan.

[ @execution_status = ] execution_status

Status eksekusi untuk pekerjaan. @execution_status int, dan bisa menjadi salah satu nilai ini.

Nilai Deskripsi
0 Hanya mengembalikan pekerjaan yang tidak diam atau ditangguhkan.
1 Mengeksekusi.
2 Menunggu utas.
3 Di antara percobaan ulang.
4 Siaga.
5 Ditangguhkan.
7 Melakukan tindakan penyelesaian.

[ @date_comparator = ] 'date_comparator'

Operator perbandingan yang digunakan dalam perbandingan @date_created dan @date_last_modified. @date_comparator adalah char(1), dan dapat berupa =, <, atau >.

[ @date_created = ] date_created

Tanggal pekerjaan dibuat. @date_created adalah datetime, dengan default NULL.

[ @date_last_modified = ] date_last_modified

Tanggal pekerjaan terakhir diubah. @date_last_modified adalah datetime, dengan default NULL.

[ @description = ] N'description'

Deskripsi dari pekerjaan. @description adalah nvarchar(512), dengan default NULL. @description dapat menyertakan karakter kartubebas untuk pencocokan pola.

Mengembalikan nilai kode

0 (berhasil) atau 1 (kegagalan).

Tataan hasil

Jika tidak ada argumen yang ditentukan, sp_help_job mengembalikan tataan hasil ini.

Nama kolom Jenis data Deskripsi
job_id pengidentifikasi unik ID unik pekerjaan.
originating_server nvarchar(30) Nama server tempat pekerjaan berasal.
name nama sysname Nama pekerjaan.
enabled kecil Menunjukkan apakah pekerjaan diaktifkan, sehingga dapat dijalankan.
description nvarchar(512) Deskripsi untuk pekerjaan.
start_step_id int ID langkah dalam pekerjaan di mana eksekusi harus dimulai.
category nama sysname Kategori pekerjaan.
owner nama sysname Pemilik pekerjaan.
notify_level_eventlog int Bitmask yang menunjukkan keadaan di mana peristiwa pemberitahuan harus dicatat ke log aplikasi Microsoft Windows. Dapat berupa salah satu nilai ini:

0 = Tidak pernah
1 = Ketika pekerjaan berhasil
2 = Ketika pekerjaan gagal
3 = Setiap kali pekerjaan selesai (terlepas dari hasil pekerjaan)
notify_level_email int Bitmask yang menunjukkan keadaan di mana email pemberitahuan harus dikirim ketika pekerjaan selesai. Nilai yang mungkin sama dengan untuk notify_level_eventlog.
notify_level_netsend int Bitmask yang menunjukkan keadaan di mana pesan jaringan harus dikirim ketika pekerjaan selesai. Nilai yang mungkin sama dengan untuk notify_level_eventlog.
notify_level_page int Bitmask yang menunjukkan keadaan di mana halaman harus dikirim ketika pekerjaan selesai. Nilai yang mungkin sama dengan untuk notify_level_eventlog.
notify_email_operator nama sysname Nama email operator yang akan diberi tahu.
notify_netsend_operator nama sysname Nama komputer atau pengguna yang digunakan ketika mengirim pesan jaringan.
notify_page_operator nama sysname Nama komputer atau pengguna yang digunakan saat mengirim halaman.
delete_level int Bitmask yang menunjukkan keadaan di mana pekerjaan harus dihapus ketika pekerjaan selesai. Nilai yang mungkin sama dengan untuk notify_level_eventlog.
date_created datetime Tanggal pekerjaan dibuat.
date_modified datetime Tanggal pekerjaan terakhir diubah.
version_number int Versi pekerjaan (diperbarui secara otomatis setiap kali pekerjaan dimodifikasi).
last_run_date int Tanggal eksekusi pekerjaan terakhir dimulai.
last_run_time int Waktu pekerjaan terakhir kali memulai eksekusi.
last_run_outcome int Hasil pekerjaan terakhir kali dijalankan:

0 = Gagal
1 = Berhasil
3 = Dibatalkan
5 = Tidak diketahui
next_run_date int Tanggal pekerjaan dijadwalkan untuk dijalankan berikutnya.
next_run_time int Waktu pekerjaan dijadwalkan untuk dijalankan berikutnya.
next_run_schedule_id int Nomor identifikasi jadwal eksekusi berikutnya.
current_execution_status int Status eksekusi saat ini:

1 = Mengeksekusi
2 = Menunggu Utas
3 = Antara Percobaan Ulang
4 = Menganggur
5 = Ditangguhkan
6 = Usang
7 = MelakukanCompletionActions
current_execution_step nama sysname Langkah eksekusi saat ini dalam pekerjaan.
current_retry_attempt int Jika pekerjaan berjalan dan langkah dicoba kembali, ini adalah upaya coba lagi saat ini.
has_step int Jumlah langkah pekerjaan yang dimiliki pekerjaan.
has_schedule int Jumlah jadwal pekerjaan yang dimiliki pekerjaan.
has_target int Jumlah server target yang dimiliki pekerjaan.
type int Jenis pekerjaan.

1 = Pekerjaan lokal.
2 = Pekerjaan multiserver.
0 = Pekerjaan tidak memiliki server target.

Jika @job_id atau @job_name ditentukan, sp_help_job mengembalikan kumpulan hasil tambahan ini untuk langkah pekerjaan, jadwal pekerjaan, dan server target pekerjaan.

Ini adalah hasil yang ditetapkan untuk langkah-langkah pekerjaan.

Nama kolom Jenis data Deskripsi
step_id int Pengidentifikasi unik (untuk pekerjaan ini) untuk langkah tersebut.
step_name nama sysname Nama langkah.
subsystem nvarchar(40) Subsistem untuk menjalankan perintah langkah.
command nvarchar(3200) Perintah untuk dijalankan.
flags nvarchar(4000) Bitmask nilai yang mengontrol perilaku langkah.
cmdexec_success_code int Untuk langkah CmdExec, ini adalah kode keluar proses dari perintah yang berhasil.
on_success_action nvarchar(4000) Apa yang harus dilakukan jika langkah tersebut berhasil:

1 = Berhenti dengan keberhasilan.
2 = Keluar dengan kegagalan.
3 = Lanjutkan ke langkah berikutnya.
4 = Buka langkah.
on_success_step_id int Jika on_success_action adalah 4, ini menunjukkan langkah berikutnya untuk dijalankan.
on_fail_action nvarchar(4000) Tindakan yang harus diambil jika langkah gagal. Nilai sama seperti untuk on_success_action.
on_fail_step_id int Jika on_fail_action adalah 4, ini menunjukkan langkah berikutnya untuk dijalankan.
server nama sysname Dicadangkan.
database_name nama sysname Untuk langkah Transact-SQL, ini adalah database tempat perintah dijalankan.
database_user_name nama sysname Untuk langkah Transact-SQL, ini adalah konteks pengguna database tempat perintah dijalankan.
retry_attempts int Frekuensi maksimum perintah harus dicoba kembali (jika tidak berhasil) sebelum langkah dianggap gagal.
retry_interval int Interval (dalam menit) antara upaya coba lagi.
os_run_priority varchar(4000) Dicadangkan.
output_file_name varchar(200) File yang output perintahnya harus ditulis (langkah-langkah Transact-SQL dan CmdExec saja).
last_run_outcome int Hasil langkah terakhir kali dijalankan:

0 = Gagal
1 = Berhasil
3 = Dibatalkan
5 = Tidak diketahui
last_run_duration int Durasi (dalam detik) dari langkah terakhir kali dijalankan.
last_run_retries int Berapa kali perintah dicoba kembali terakhir kali langkah dijalankan.
last_run_date int Tanggal langkah terakhir memulai eksekusi.
last_run_time int Waktu langkah terakhir memulai eksekusi.
proxy_id int Proksi untuk langkah pekerjaan.

Ini adalah hasil yang ditetapkan untuk jadwal pekerjaan.

Nama kolom Jenis data Deskripsi
schedule_id int Pengidentifikasi jadwal (unik di semua pekerjaan).
schedule_name nama sysname Nama jadwal (unik hanya untuk pekerjaan ini).
enabled int Apakah jadwal aktif (1) atau tidak (0).
freq_type int Nilai yang menunjukkan kapan pekerjaan akan dijalankan:

1 = Sekali
4 = Harian
8 = Mingguan
16 = Bulanan
32 = Bulanan, relatif terhadap freq_interval
64 = Jalankan saat layanan SQL Server Agent dimulai.
freq_interval int Hari ketika pekerjaan dijalankan. Nilai tergantung pada nilai freq_type. Untuk informasi selengkapnya, lihat sp_add_schedule
freq_subday_type int Unit untuk freq_subday_interval. Untuk informasi selengkapnya, lihat sp_add_schedule
freq_subday_interval int Jumlah freq_subday_type periode yang akan terjadi antara setiap eksekusi pekerjaan. Untuk informasi selengkapnya, lihat sp_add_schedule
freq_relative_interval int Kemunculan freq_interval pekerjaan terjadwal dalam setiap bulan. Untuk informasi selengkapnya, lihat sp_add_schedule
freq_recurrence_factor int Jumlah bulan antara eksekusi pekerjaan yang dijadwalkan.
active_start_date int Tanggal untuk memulai eksekusi pekerjaan.
active_end_date int Tanggal hingga akhir eksekusi pekerjaan.
active_start_time int Waktu untuk memulai eksekusi pekerjaan pada active_start_date.
active_end_time int Waktu untuk mengakhiri eksekusi pekerjaan pada active_end_date.
date_created datetime Tanggal jadwal dibuat.
schedule_description nvarchar(4000) Deskripsi bahasa Inggris tentang jadwal (jika diminta).
next_run_date int Tanggal jadwal berikutnya menyebabkan pekerjaan berjalan.
next_run_time int Waktu jadwal berikutnya menyebabkan pekerjaan berjalan.
schedule_uid pengidentifikasi unik Pengidentifikasi untuk jadwal.
job_count int Mengembalikan jumlah pekerjaan yang mereferensikan jadwal ini.

Ini adalah hasil yang ditetapkan untuk server target pekerjaan.

Nama kolom Jenis data Deskripsi
server_id int Pengidentifikasi server target.
server_name nvarchar(30) Nama komputer server target.
enlist_date datetime Tanggal server target yang terdaftar ke server master.
last_poll_date datetime Tanggal server target terakhir kali melakukan polling pada server master.
last_run_date int Tanggal pekerjaan terakhir kali memulai eksekusi pada server target ini.
last_run_time int Waktu pekerjaan terakhir kali memulai eksekusi pada server target ini.
last_run_duration int Durasi pekerjaan terakhir kali dijalankan pada server target ini.
last_run_outcome kecil Hasil pekerjaan terakhir kali dijalankan di server ini:

0 = Gagal
1 = Berhasil
3 = Dibatalkan
5 = Tidak diketahui
last_outcome_message nvarchar(1024) Hasil pesan dari pekerjaan terakhir kali dijalankan di server target ini.

Izin

Prosedur tersimpan ini dimiliki oleh peran db_owner . Anda dapat memberikan EXECUTE izin untuk pengguna mana pun, tetapi izin ini dapat ditimpa selama peningkatan SQL Server.

Pengguna lain harus diberikan salah satu peran database tetap SQL Server Agent berikut dalam msdb database:

  • SQLAgentUserRole
  • SQLAgentReaderRole
  • SQLAgentOperatorRole

Untuk detail tentang izin peran ini, lihat Peran Database Tetap Agen SQL Server.

Anggota SQLAgentUserRole hanya dapat melihat pekerjaan yang mereka miliki. Anggota sysadmin, SQLAgentReaderRole, dan SQLAgentOperatorRole dapat melihat semua pekerjaan lokal dan multiserver.

Contoh

J. Mencantumkan informasi untuk semua pekerjaan

Contoh berikut menjalankan sp_help_job prosedur tanpa parameter untuk mengembalikan informasi untuk semua pekerjaan yang saat ini ditentukan dalam msdb database.

USE msdb;
GO

EXEC dbo.sp_help_job;
GO

B. Mencantumkan informasi untuk pekerjaan yang cocok dengan kriteria tertentu

Contoh berikut mencantumkan informasi pekerjaan untuk pekerjaan multiserver yang dimiliki oleh françoisa tempat pekerjaan diaktifkan dan dijalankan.

USE msdb;
GO

EXEC dbo.sp_help_job
   @job_type = N'MULTI-SERVER',
   @owner_login_name = N'françoisa',
   @enabled = 1,
   @execution_status = 1;
GO

C. Mencantumkan semua aspek informasi untuk pekerjaan

Contoh berikut mencantumkan semua aspek informasi untuk pekerjaan NightlyBackups.

USE msdb;
GO

EXEC dbo.sp_help_job
    @job_name = N'NightlyBackups',
    @job_aspect = N'ALL';
GO