sp_update_job (T-SQL)

Berlaku untuk:SQL ServerAzure SQL Managed Instance

Memperbarui atribut pekerjaan yang ada yang dibuat di layanan SQL Server Agent.

Konvensi sintaks transact-SQL

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.

Value 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 (Pekerjaan Azure Elastic) (Transact-SQL).

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 NightlyBackupsyang 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