Jika Anda sedang dalam proses membuat tugas Agen Server SQL dengan T-SQL, Anda mungkin bertanya-tanya apakah akan membuat jadwalnya dengan sp_add_schedule
prosedur tersimpan atau sp_add_jobschedule
prosedur.
Berikut penjelasan singkat tentang perbedaan antara kedua prosedur ini.
Perbedaan
sp_add_schedule
prosedur membuat jadwal, tetapi tidak melampirkannya ke pekerjaan apa pun. Untuk melakukannya, Anda perlu menggunakansp_attach_schedule
prosedur.sp_add_jobschedule
prosedur membuat jadwal dan melampirkannya ke pekerjaan tertentu, semuanya sekaligus.
Oleh karena itu, sp_add_jobschedule
boleh digunakan jika Anda perlu membuat jadwal baru untuk pekerjaan tertentu, dan pekerjaan itu sudah ada. Jika Anda membuat jadwal untuk beberapa pekerjaan, dan belum ada satu pun, Anda dapat menggunakan sp_add_schedule
. Kemudian Anda dapat menggunakan sp_attach_schedule
untuk melampirkannya ke pekerjaan Anda nanti.
Namun bukan berarti Anda tidak dapat menggunakan sp_add_schedule
bukannya sp_add_jobschedule
jika pekerjaan sudah ada.
Menggunakan sp_add_schedule
(dalam hubungannya dengan sp_attach_schedule
) memungkinkan Anda untuk memisahkan proses pembuatan jadwal dan melampirkannya ke pekerjaan. Anda masih dapat menggunakan kombo ini bahkan saat membuat satu pekerjaan dengan satu jadwal.
Dengan kata lain, Anda dapat menggunakan sp_add_schedule
bukannya sp_add_jobschedule
untuk semua pekerjaan Agen Server SQL Anda.
Contoh
sp_add_jobschedule
Prosedur
sp_add_jobschedule
prosedur membuat jadwal untuk pekerjaan Agen Server SQL tertentu. Saat Anda memanggil prosedur ini, Anda harus memberikan nama atau ID pekerjaan yang Anda inginkan untuk melamar.
Pada dasarnya, prosedur ini membuat jadwal dan melampirkannya ke satu pekerjaan.
Berikut ini contoh membuat pekerjaan dan menggunakan sp_add_jobschedule
prosedur tersimpan:
EXEC sp_add_jobschedule
@job_name = N'BackupMusicDB',
@name = N'Weekly_Sun_3AM',
@freq_type = 8,
@freq_interval = 1,
@freq_recurrence_factor = 1,
@active_start_time = 30000;
Saat Anda melihat sp_add_jobschedule
prosedur, @job_name
argumen memberikan nama pekerjaan. @name
argumen memberikan nama yang ingin Anda berikan ke jadwal.
sp_add_schedule
Prosedur
sp_add_schedule
prosedur memungkinkan Anda membuat jadwal tanpa harus menentukan pekerjaan yang akan dilampirkan.
Prosedur ini membuat jadwal, tetapi tidak melampirkannya ke pekerjaan apa pun. Untuk melampirkannya ke pekerjaan, Anda harus menggunakan sp_attach_schedule
prosedur.
Ini contohnya:
EXEC sp_add_schedule
@schedule_name = N'RunDailyAM',
@freq_type = 4,
@freq_interval = 4,
@active_start_time = 041000;
GO
EXEC sp_attach_schedule
@job_name = N'BackupPetHotelDB',
@schedule_name = N'RunDailyAM';
GO
Saat Anda menggunakan sp_attach_schedule
, Anda harus memberikan nama pekerjaan atau ID-nya (tetapi tidak keduanya), serta nama jadwal atau ID (tetapi tidak keduanya).
Menyertakan sp_add_jobschedule
Jadwal
Penting untuk diperhatikan bahwa sp_attach_schedule
dapat melampirkan jadwal yang dibuat dengan keduanya sp_add_schedule
dan dengan sp_add_jobschedule
.
Dengan kata lain, membuat jadwal dengan sp_add_jobschedule
tidak membatasinya hanya pada pekerjaan yang Anda tentukan saat membuat jadwal. masih tersedia untuk dilampirkan ke pekerjaan lain nanti menggunakan sp_attach_schedule
.