USE msdb_restored;
GO
SELECT
j.job_id,
j.[name] AS JobName,
CASE j.enabled WHEN 1 THEN 'Enabled' ELSE 'Disabled' END AS JobEnabled,
s.step_id,
s.[step_name] AS StepName,
s.subsystem AS StepSubsystem,
s.command AS StepCommand,
ISNULL(s.database_name, N'(same as job owner)') AS StepDatabase,
sch.schedule_id,
sch.[name] AS ScheduleName,
CASE sch.enabled WHEN 1 THEN 'Enabled' ELSE 'Disabled' END AS ScheduleEnabled,
-- raw schedule fields; see BOL for decoding freq_type etc.
sch.freq_type,
sch.freq_interval,
sch.freq_subday_type,
sch.freq_subday_interval,
sch.freq_relative_interval,
sch.freq_recurrence_factor,
sch.active_start_date,
sch.active_end_date,
sch.active_start_time,
sch.active_end_time
FROM dbo.sysjobs AS j
LEFT JOIN dbo.sysjobsteps AS s ON j.job_id = s.job_id
LEFT JOIN dbo.sysjobschedules AS js ON j.job_id = js.job_id
LEFT JOIN dbo.sysschedules AS sch ON js.schedule_id = sch.schedule_id
ORDER BY j.[name], s.step_id;