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.
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 pernah1 = Ketika pekerjaan berhasil2 = Ketika pekerjaan gagal3 = 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 = Gagal1 = Berhasil3 = Dibatalkan5 = 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 = Mengeksekusi2 = Menunggu Utas3 = Antara Percobaan Ulang4 = Menganggur5 = Ditangguhkan6 = Usang7 = 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 = Gagal1 = Berhasil3 = Dibatalkan5 = 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 = Sekali4 = Harian8 = Mingguan16 = Bulanan32 = 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 = Gagal1 = Berhasil3 = Dibatalkan5 = 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