Backup job doesn't write backup when run on schedule We have a database that is backed up to a network drive by a job scheduled to run at 7 AM everyday. The issue is the backup doesn't get created; however, when I execute the job manually, it gets created just fine.

It's not like the scheduled job fails either. If I look at the job history, it indicates that the job ran fine and the backup database operation succeeded.

I don't think it's a permissions issue writing to that folder either since all the other backup jobs also execute using the same user and they run just fine.

Any suggestions?
Does anything show up in the backupset tables for the missing backups?

SELECT  TOP 5
        bs.database_name, 
        bmf.physical_device_name,
        bs.backup_finish_date,
        BackupSize = CONVERT( VARCHAR( 16 ), 
            CONVERT( DECIMAL( 18, 4 ), bs.backup_size * 1.0 / 1024 ) ) + 'KB',
        AfterCompression = CONVERT( VARCHAR( 16 ), 
            CONVERT( DECIMAL( 18, 4 ), bs.compressed_backup_size * 1.0 / 1024 ) ) + 'KB',
        bs.type
FROM    msdb.dbo.backupset bs
INNER JOIN msdb.dbo.backupmediafamily bmf
    ON  bmf.media_set_id = bs.media_set_id
WHERE   bs.database_name = '&lt;Your Catalog Here&gt;'
    AND bs.type = 'D'
ORDER BY bs.backup_finish_date DESC;


I would wager you are right that it's not a permissions issue, as if it was, the job history would indicate it.  Similarly, if the network path was simply unavailable at 7:00AM, there'd be something in the job messages about it, even if the jobstep itself was set to always report success.

SELECT  ji.name, ji.step_name, ji.step_id, ji.run_date, 
        ji.run_time, ji.run_status, ji.on_success_action, ji.on_fail_action, ji.message
FROM (  SELECT  sj.name, sjs.step_name, sjs.step_id, sjh.run_date, sjh.run_time,
                sjh.run_status, sjh.message, sjs.on_success_action, sjs.on_fail_action,
                Ordinal = ROW_NUMBER() OVER (
                    PARTITION BY sj.name
                    ORDER BY sjh.run_date DESC, sjh.run_time DESC )
        FROM    msdb.dbo.sysjobs sj
        INNER JOIN msdb.dbo.sysjobsteps sjs
            ON  sjs.job_id = sj.job_id
        INNER JOIN msdb.dbo.sysjobhistory sjh
            ON  sjh.job_id = sj.job_id
            AND sjh.step_id = sjs.step_id ) ji
WHERE   ji.Ordinal &lt;= 5
    AND ji.name = '&lt;Your Job Here&gt;'
ORDER BY ji.run_date DESC, ji.run_time DESC,
    ji.name, ji.step_id;


I'm guessing it's some subtle difference between the successful jobs and the one that's behaving oddly, like a conditional that's getting evaluated differently by the agent or similar code issue.