Schedule a Job
Applies to:
SQL Server
Azure SQL Managed Instance
Important
On Azure SQL Managed Instance, most, but not all SQL Server Agent features are currently supported. See Azure SQL Managed Instance T-SQL differences from SQL Server for details.
This topic describes how to schedule a SQL Server Agent job.
Before you begin: ,
To schedule a job, using:
Before You Begin
Security
For detailed information, see Implement SQL Server Agent Security.
Using SQL Server Management Studio
To create and attach a schedule to a job
In Object Explorer, connect to an instance of the SQL Server Database Engine, and then expand that instance.
Expand SQL Server Agent, expand Jobs, right-click the job you want to schedule, and click Properties.
Select the Schedules page, and then click New.
In the Name box, type a name for the new schedule.
Clear the Enabled check box if you do not want the schedule to take effect immediately following its creation.
For Schedule Type, select one of the following:
Click Start automatically when SQL Server Agent starts to start the job when the SQL Server Agent service is started.
Click Start whenever the CPUs become idle to start the job when the CPUs reach an idle condition.
Click Recurring if you want a schedule to run repeatedly. To set the recurring schedule, complete the Frequency, Daily Frequency, and Duration groups on the dialog.
Click One time if you want the schedule to run only once. To set the One time schedule, complete the One-time occurrence group on the dialog.
To attach a schedule to a job
In Object Explorer, connect to an instance of the SQL Server Database Engine, and then expand that instance.
Expand SQL Server Agent, expand Jobs, right-click the job that you want to schedule, and click Properties.
Select the Schedules page, and then click Pick.
Select the schedule that you want to attach, and then click OK.
In the Job Properties dialog box, double-click the attached schedule.
Verify that Start date is set correctly. If it is not, set the date when you want for the schedule to start, and then click OK.
In the Job Properties dialog box, click OK.
Using Transact-SQL
To schedule a job
In Object Explorer, connect to an instance of Database Engine.
On the Standard bar, click New Query.
Copy and paste the following example into the query window and click Execute.
USE msdb ; GO -- creates a schedule named NightlyJobs. -- Jobs that use this schedule execute every day when the time on the server is 01:00. EXEC sp_add_schedule @schedule_name = N'NightlyJobs' , @freq_type = 4, @freq_interval = 1, @active_start_time = 010000 ; GO -- attaches the schedule to the job BackupDatabase EXEC sp_attach_schedule @job_name = N'BackupDatabase', @schedule_name = N'NightlyJobs' ; GO
For more information, see sp_add_schedule (Transact-SQL) and sp_attach_schedule (Transact-SQL).
Using SQL Server Management Objects
Use the JobSchedule class by using a programming language that you choose, such as Visual Basic, Visual C#, or PowerShell. For more information, see SQL Server Management Objects (SMO).