sp_attach_schedule (T-SQL)

Berlaku untuk:SQL Server

Mengatur jadwal untuk pekerjaan.

Konvensi sintaks transact-SQL

Sintaks

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

Argumen

[ @job_id = ] 'job_id'

Nomor identifikasi pekerjaan pekerjaan tempat jadwal ditambahkan. @job_id adalah uniqueidentifier, dengan default NULL.

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

[ @job_name = ] N'job_name'

Nama pekerjaan tempat jadwal ditambahkan. @job_name adalah sysname, dengan default NULL.

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

[ @schedule_id = ] schedule_id

Nomor identifikasi jadwal yang akan ditetapkan untuk pekerjaan. @schedule_id int, dengan default NULL.

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

[ @schedule_name = ] N'schedule_name'

Nama jadwal yang akan diatur untuk pekerjaan tersebut. @schedule_name adalah sysname, dengan default NULL.

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

[ @automatic_post = ] automatic_post

@automatic_post adalah bit, dengan default .1

Keterangan

Jadwal dan pekerjaan harus memiliki pemilik yang sama.

Jadwal dapat diatur untuk lebih dari satu pekerjaan. Pekerjaan dapat dijalankan pada lebih dari satu jadwal.

Prosedur tersimpan msdb ini harus dijalankan dari database.

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

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 membiarkannya tanpa pekerjaan, kecuali pemanggil adalah pemilik jadwal.

Untuk detail tentang izin peran ini, lihat Peran Database Tetap Agen SQL Server.

SQL Server memeriksa apakah pengguna memiliki pekerjaan dan jadwal.

Contoh

Contoh berikut membuat jadwal bernama NightlyJobs. Pekerjaan yang menggunakan jadwal ini dijalankan setiap hari ketika waktu di server adalah 01:00. Contoh melampirkan jadwal ke pekerjaan BackupDatabase dan pekerjaan RunReports.

Catatan

Contoh ini mengasumsikan bahwa pekerjaan BackupDatabase dan pekerjaan RunReports sudah ada.

USE msdb;
GO

EXEC sp_add_schedule
    @schedule_name = N'NightlyJobs' ,
    @freq_type = 4,
    @freq_interval = 1,
    @active_start_time = 010000 ;
GO

EXEC sp_attach_schedule
   @job_name = N'BackupDatabase',
   @schedule_name = N'NightlyJobs' ;
GO

EXEC sp_attach_schedule
   @job_name = N'RunReports',
   @schedule_name = N'NightlyJobs' ;
GO