Skip to content

Instantly share code, notes, and snippets.

@matt40k
Created February 25, 2016 10:36
Show Gist options
  • Save matt40k/520ba56342249a8babdc to your computer and use it in GitHub Desktop.
Save matt40k/520ba56342249a8babdc to your computer and use it in GitHub Desktop.
Scheduled sql jobs
--USE [msdb]
--GO
--DECLARE @schedule_id int
--EXEC msdb.dbo.sp_add_jobschedule @job_id=N'd00849dd-5001-4284-bd9e-bffce3ae0b98', @name=N'One-Time',
-- @enabled=1,
-- @freq_type=1,
-- @freq_interval=1,
-- @freq_subday_type=0,
-- @freq_subday_interval=0,
-- @freq_relative_interval=0,
-- @freq_recurrence_factor=1,
-- @active_start_date=20160225,
-- @active_end_date=99991231,
-- @active_start_time=100000,
-- @active_end_time=235959, @schedule_id = @schedule_id OUTPUT
--select @schedule_id
--GO
--exec msdb.dbo.sp_delete_jobschedule @job_id = N'd00849dd-5001-4284-bd9e-bffce3ae0b98', @keep_schedule = 0, @name = N'One-Time'
select
job_id = j.job_id
,job_name = j.name
,job_enabled = j.enabled
,schedule_name = s.name
,schedule_enabled = s.enabled
,schedule_freq_code = s.freq_type
,schedule_freq = case isnull(s.freq_type, 0)
when 0 then null
when 1 then 'One-time'
when 4 then 'Daily'
when 8 then 'Weekly'
when 16 then 'Monthly'
when 32 then 'Monthly, relative to freq_interval'
when 64 then 'Runs when the SQL Server Agent service starts'
when 128 then 'Runs when the computer is idle'
else 'Unknown'
end
,schedule_interval = case isnull(s.freq_type, 0)
when 0 then null
when 1 then null
when 4 then null
when 8 then case s.freq_interval
when 1 then 'Sunday'
when 2 then 'Monday'
when 4 then 'Tuesday'
when 8 then 'Wednesday'
when 16 then 'Thursday'
when 32 then 'Friday'
when 64 then 'Saturday'
else 'Unknown'
end
when 16 then cast(s.freq_interval as varchar(10))
when 32 then case s.freq_interval
when 1 then 'Sunday'
when 2 then 'Monday'
when 3 then 'Tuesday'
when 4 then 'Wednesday'
when 5 then 'Thursday'
when 6 then 'Friday'
when 7 then 'Saturday'
when 8 then 'Day'
when 9 then 'Weekday'
when 10 then 'Weekend day'
else 'Unknown'
end
when 64 then null
when 128 then null
else 'Unknown'
end
from
msdb.dbo.sysjobs j
inner join msdb.dbo.syscategories c on
j.category_id = c.category_id
and c.name = 'Business Intelligence'
left outer join msdb.dbo.sysjobschedules js on
j.job_id = js.job_id
left outer join msdb.dbo.sysschedules s on
js.schedule_id = s.schedule_id
select id = 1, schedule = 'One-Time'
union select 2, 'Daily'
union select 3, 'Weekly'
union select 4, 'Monthly'
-- https://msdn.microsoft.com/en-us/library/ms178644.aspx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment