sp_update_job (T-SQL)
Berlaku untuk: SQL Server Azure SQL Managed Instance
Memperbarui atribut pekerjaan yang ada yang dibuat di layanan SQL Server Agent.
Sintaks
sp_update_job
[ [ @job_id = ] 'job_id' ]
[ , [ @job_name = ] N'job_name' ]
[ , [ @new_name = ] N'new_name' ]
[ , [ @enabled = ] enabled ]
[ , [ @description = ] N'description' ]
[ , [ @start_step_id = ] start_step_id ]
[ , [ @category_name = ] N'category_name' ]
[ , [ @owner_login_name = ] N'owner_login_name' ]
[ , [ @notify_level_eventlog = ] notify_level_eventlog ]
[ , [ @notify_level_email = ] notify_level_email ]
[ , [ @notify_level_netsend = ] notify_level_netsend ]
[ , [ @notify_level_page = ] notify_level_page ]
[ , [ @notify_email_operator_name = ] N'notify_email_operator_name' ]
[ , [ @notify_netsend_operator_name = ] N'notify_netsend_operator_name' ]
[ , [ @notify_page_operator_name = ] N'notify_page_operator_name' ]
[ , [ @delete_level = ] delete_level ]
[ , [ @automatic_post = ] automatic_post ]
[ ; ]
Argumen
[ @job_id = ] 'job_id'
Nomor identifikasi pekerjaan yang akan diperbarui. @job_id adalah uniqueidentifier, dengan default NULL
.
Baik @job_id atau @job_name harus ditentukan, tetapi keduanya tidak dapat ditentukan.
[ @job_name = ] N'job_name'
Nama pekerjaan. @job_name adalah sysname, dengan default NULL
.
Baik @job_id atau @job_name harus ditentukan, tetapi keduanya tidak dapat ditentukan.
[ @new_name = ] N'new_name'
Nama baru untuk pekerjaan tersebut. @new_name adalah sysname, dengan default NULL
.
[ @enabled = ] diaktifkan
Menentukan apakah pekerjaan diaktifkan (1
) atau tidak diaktifkan (0
). @enabled kecil, dengan default NULL
.
[ @description = ] N'description'
Deskripsi dari pekerjaan. @description adalah nvarchar(512), dengan default NULL
.
[ @start_step_id = ] start_step_id
Nomor identifikasi langkah pertama yang dijalankan untuk pekerjaan tersebut. @start_step_id int, dengan default NULL
.
[ @category_name = ] N'category_name'
Kategori pekerjaan. @category_name adalah sysname, dengan default NULL
.
[ @owner_login_name = ] N'owner_login_name'
Nama login yang memiliki pekerjaan. @owner_login_name adalah sysname, dengan default NULL
. Hanya anggota peran server tetap sysadmin yang dapat mengubah kepemilikan pekerjaan.
[ @notify_level_eventlog = ] notify_level_eventlog
Menentukan kapan harus menempatkan entri di log aplikasi Microsoft Windows untuk pekerjaan ini. @notify_level_eventlog int, dan bisa menjadi salah satu nilai ini.
Nilai | Deskripsi (tindakan) |
---|---|
0 |
Tidak pernah |
1 |
Pada keberhasilan |
2 |
Pada kegagalan |
3 |
Selalu |
[ @notify_level_email = ] notify_level_email
Menentukan kapan harus mengirim email setelah pekerjaan ini selesai. @notify_level_email int, dengan default NULL
. @notify_level_email menggunakan nilai yang sama dengan @notify_level_eventlog.
[ @notify_level_netsend = ] notify_level_netsend
Menentukan kapan harus mengirim pesan jaringan setelah pekerjaan ini selesai. @notify_level_netsend int, dengan default NULL
. @notify_level_netsend menggunakan nilai yang sama dengan @notify_level_eventlog.
[ @notify_level_page = ] notify_level_page
Menentukan kapan harus mengirim halaman setelah pekerjaan ini selesai. @notify_level_page int, dengan default NULL
. @notify_level_page menggunakan nilai yang sama dengan @notify_level_eventlog.
[ @notify_email_operator_name = ] N'notify_email_operator_name'
Nama operator yang dikirimkan email saat email_level tercapai. @notify_email_operator_name adalah sysname, dengan default NULL
.
[ @notify_netsend_operator_name = ] N'notify_netsend_operator_name'
Nama operator yang dikirimi pesan jaringan. @notify_netsend_operator_name adalah sysname, dengan default NULL
.
[ @notify_page_operator_name = ] N'notify_page_operator_name'
Nama operator yang dikirimi halaman. @notify_page_operator_name adalah sysname, dengan default NULL
.
[ @delete_level = ] delete_level
Menentukan kapan harus menghapus pekerjaan. @delete_level int, dengan default NULL
. @delete_level menggunakan nilai yang sama dengan @notify_level_eventlog.
[ @automatic_post = ] automatic_post
Diidentifikasi hanya untuk tujuan informasi. Tidak didukung. Kompatibilitas di masa mendatang tidak dijamin.
Mengembalikan nilai kode
0
(berhasil) atau 1
(kegagalan).
Keterangan
sp_update_job
harus dijalankan dari msdb
database.
sp_update_job
hanya mengubah pengaturan yang nilai parameternya disediakan. Jika parameter dihilangkan, pengaturan saat ini dipertahankan.
Prosedur tersimpan sp_update_job
ini berbagi nama dengan objek serupa untuk layanan Azure Elastic Jobs untuk Azure SQL Database. Untuk informasi tentang versi pekerjaan elastis, lihat jobs.sp_update_job (Azure Elastic Jobs).
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.
Hanya anggota sysadmin yang dapat menggunakan prosedur tersimpan ini untuk mengedit atribut pekerjaan yang dimiliki oleh pengguna lain.
Contoh
Contoh berikut mengubah nama, deskripsi, dan status pekerjaan NightlyBackups
yang diaktifkan .
USE msdb;
GO
EXEC dbo.sp_update_job
@job_name = N'NightlyBackups',
@new_name = N'NightlyBackups -- Disabled',
@description = N'Nightly backups disabled during server migration.',
@enabled = 0;
GO