Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

sp_add_schedule vs sp_add_jobschedule di SQL Server:Apa Bedanya?

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 menggunakan sp_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 .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:DELETE vs TRUNCATE

  2. Cara sederhana untuk mengubah urutan kolom dan baris dalam SQL?

  3. Fungsi SQL Server Sederhana untuk Memecahkan Masalah Dunia Nyata

  4. SQL Server menggunakan CPU tinggi saat mencari di dalam string nvarchar

  5. TAMPILKAN DATABASES Setara di SQL Server – sp_databases