• I am thinking in using your stored procedure:

    use msdb

    go

    CREATE PROCEDURE [dbo].[usp_DeleteOldBackupFiles]

    @path nvarchar(256),

    @extention nvarchar(10),

    @age_hrs int

    AS

    BEGIN

    SET NOCOUNT ON;

    DECLARE @DeleteDate nvarchar(50)

    DECLARE @DeleteDateTime datetime

    SET @DeleteDateTime = DateAdd(hh, -@age_hrs, GetDate())

    SET @DeleteDate = (Select Replace(Convert(nvarchar, @DeleteDateTime, 111), '/', '-') + 'T' + Convert(nvarchar, @DeleteDateTime, 108))

    EXECUTE master.dbo.xp_delete_file 0, @path, @extention, @DeleteDate, 1

    END

    /* I want to create this procedure in the MSDB database.*/

    Then, in each job (i have two jobs, one to do database backups and another to do log backups) i add a new step, it will be the first step of each job. The code is this:

    For database backups:

    usp_DeleteOldBackupFiles 'D:\MSSQL_DBBackups', 'bak', 720

    For log backups:

    usp_DeleteOldBackupFiles 'D:\MSSQL_DBBackupsLogs', 'trn', 720

    /* 720 hours = aprox. 1 month, 30 days*/

    As i told, this will be the first step of each job.

    When i try to save this first step, i receive the following message from SQL Server:

    Warning: The following job steps cannot be reached with the current job step flow logic:

    [1] DeleteBackups

    Is this the intended behavior?

    Can you help with this? why SQL Server sends a message like this?