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

Ubah Jadwal Agen Server SQL (T-SQL)

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Rencana eksekusi SQL Server — apa itu dan bagaimana itu membantu masalah kinerja?

  2. Memahami Pernyataan SQL Server ALTER TABLE ADD COLUMN

  3. SQL Server:Contoh data PIVOTing String

  4. Cara Mengimpor File JSON ke Tabel SQL Server

  5. 9 Tugas Penting yang Menjadi Tanggung Jawab DBA