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;