Jadwal SQL Server Agent dapat dikelola secara independen dari pekerjaan. Ini berarti Anda dapat memperbarui jadwal secara langsung tanpa memperbarui pekerjaan itu sendiri.
Anda dapat melakukannya dengan sp_update_schedule
prosedur tersimpan.
Contoh
Buat Jadwal
Pertama, mari kita buat jadwal:
EXEC sp_add_schedule
@schedule_name = N'Weekly_Sat_1AM',
@freq_type = 8,
@freq_interval = 64,
@freq_recurrence_factor = 1,
@active_start_time = 10000;
Sekarang kita dapat menggunakan sp_update_schedule
untuk mengubah jadwal itu.
Perbarui Jadwal
Berikut ini contoh memperbarui jadwal yang baru saja kita buat.
EXEC sp_update_schedule
@name = N'Weekly_Sat_1AM',
@new_name = N'Weekly_Sun_4AM',
@freq_type = 8,
@freq_interval = 1,
@freq_recurrence_factor = 1,
@active_start_time = 40000;
Dalam hal ini, saya mengubah nama jadwal, serta interval frekuensi dan waktu mulai.
Perhatikan bahwa sp_update_schedule
hanya mengubah pengaturan yang nilai parameternya diberikan. Jika parameter dihilangkan, pengaturan saat ini dipertahankan.
Oleh karena itu, karena beberapa pengaturan kami tetap sama (khususnya, @freq_type
dan @freq_recurrence_factor
), kita bisa menghilangkan parameter tersebut sama sekali.
Seperti ini:
EXEC sp_update_schedule
@name = N'Weekly_Sat_1AM',
@new_name = N'Weekly_Sun_4AM',
@freq_interval = 1,
@active_start_time = 40000;
Nonaktifkan Jadwal
Anda dapat mengatur @enabled
ke 0
untuk menonaktifkan jadwal.
Contoh:
EXEC sp_update_schedule
@name = N'Weekly_Sun_4AM',
@new_name = N'Weekly_Sun_4AM (DISABLED)',
@enabled = 0;
Dalam contoh ini saya juga mengubah nama untuk memperjelas bahwa pekerjaan tersebut dinonaktifkan.
Periksa Jadwal
Anda dapat menggunakan sp_help_schedule
untuk melihat pengaturan jadwal saat ini.
Anda dapat menggunakannya dengan atau tanpa parameter. Ketika digunakan tanpa parameter, ia mengembalikan semua jadwal.
EXEC sp_help_schedule;
Jika Anda hanya ingin melihat detail satu jadwal, Anda dapat memberikan nama atau ID jadwal.
Seperti ini:
EXEC sp_help_schedule
@schedule_name = 'Weekly_Sun_4AM';
Meskipun, saat memberikan nama, Anda harus mengingat nama belakang yang Anda berikan pada jadwal. Dalam kasus kami, jika kami menjalankan prosedur ini setelah contoh sebelumnya (ketika kami menonaktifkan jadwal), kami perlu melakukan ini:
EXEC sp_help_schedule
@schedule_name = 'Weekly_Sun_4AM (DISABLED)';
Namun, ID jadwal tetap konstan, sehingga Anda dapat menggunakannya terlepas dari nama jadwal.
Contoh:
EXEC sp_help_schedule
@schedule_id = 16;
Saat menggunakan ID, Anda dapat menghilangkan nama parameter jika diinginkan.
Contoh:
EXEC sp_help_schedule 16;
Apa yang Terjadi pada Pekerjaan yang Menggunakan Jadwal yang Diubah?
Semua pekerjaan yang menggunakan jadwal segera menggunakan pengaturan baru. Namun, mengubah jadwal tidak menghentikan pekerjaan yang sedang berjalan.
Sintaks Penuh
Sintaks lengkap sp_update_schedule
seperti ini:
sp_update_schedule
{ [ @schedule_id = ] schedule_id
| [ @name = ] 'schedule_name' }
[ , [ @new_name = ] new_name ]
[ , [ @enabled = ] enabled ]
[ , [ @freq_type = ] freq_type ]
[ , [ @freq_interval = ] freq_interval ]
[ , [ @freq_subday_type = ] freq_subday_type ]
[ , [ @freq_subday_interval = ] freq_subday_interval ]
[ , [ @freq_relative_interval = ] freq_relative_interval ]
[ , [ @freq_recurrence_factor = ] freq_recurrence_factor ]
[ , [ @active_start_date = ] active_start_date ]
[ , [ @active_end_date = ] active_end_date ]
[ , [ @active_start_time = ] active_start_time ]
[ , [ @active_end_time = ] active_end_time ]
[ , [ @owner_login_name = ] 'owner_login_name' ]
[ , [ @automatic_post =] automatic_post ]
Lihat dokumentasi Microsoft untuk sp_update_schedule
untuk penjelasan setiap parameter, serta nilai yang diterima masing-masing.