sp_detach_schedule (T-SQL)

Berlaku untuk:SQL Server

Menghapus hubungan antara jadwal dan pekerjaan.

Konvensi sintaks transact-SQL

Sintaks

sp_detach_schedule
    [ [ @job_id = ] 'job_id' ]
    [ , [ @job_name = ] N'job_name' ]
    [ , [ @schedule_id = ] schedule_id ]
    [ , [ @schedule_name = ] N'schedule_name' ]
    [ , [ @delete_unused_schedule = ] delete_unused_schedule ]
    [ , [ @automatic_post = ] automatic_post ]
[ ; ]

Argumen

[ @job_id = ] 'job_id'

Nomor identifikasi pekerjaan dari pekerjaan untuk menghapus jadwal. @job_id adalah uniqueidentifier, dengan default NULL.

[ @job_name = ] N'job_name'

Nama pekerjaan untuk menghapus jadwal. @job_name adalah sysname, dengan default NULL.

Catatan

Baik @job_id atau @job_name harus ditentukan, tetapi keduanya tidak dapat ditentukan.

[ @schedule_id = ] schedule_id

Nomor identifikasi jadwal jadwal yang akan dihapus dari pekerjaan. @schedule_id int, dengan default NULL.

[ @schedule_name = ] N'schedule_name'

Nama jadwal yang akan dihapus dari pekerjaan. @schedule_name adalah sysname, dengan default NULL.

Catatan

Baik @schedule_id atau @schedule_name harus ditentukan, tetapi keduanya tidak dapat ditentukan.

[ @delete_unused_schedule = ] delete_unused_schedule

Menentukan apakah akan menghapus jadwal pekerjaan yang tidak digunakan. @delete_unused_schedule adalah bit, dengan default 0.

  • Jika diatur ke 0, semua jadwal disimpan, bahkan jika tidak ada pekerjaan yang mereferensikannya.
  • Jika diatur ke 1, jadwal pekerjaan yang tidak digunakan akan dihapus jika tidak ada pekerjaan yang mereferensikannya.

[ @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).

Tataan hasil

Tidak

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.

Pemilik pekerjaan dapat melampirkan pekerjaan ke jadwal dan melepaskan pekerjaan dari jadwal tanpa juga harus menjadi pemilik jadwal. Namun, jadwal tidak dapat dihapus jika pelampiran akan meninggalkannya tanpa pekerjaan kecuali pemanggil adalah pemilik jadwal.

Hanya anggota sysadmin yang dapat menggunakan prosedur tersimpan ini untuk mengedit atribut pekerjaan yang dimiliki oleh pengguna lain.

SQL Server memeriksa untuk menentukan apakah pengguna memiliki jadwal. Hanya anggota peran server tetap sysadmin yang dapat melepaskan jadwal dari pekerjaan yang dimiliki oleh pengguna lain.

Contoh

Contoh berikut menghapus hubungan antara NightlyJobs jadwal dan BackupDatabase pekerjaan.

USE msdb;
GO

EXEC dbo.sp_detach_schedule
    @job_name = 'BackupDatabase',
    @schedule_name = 'NightlyJobs';
GO