• Get the latest backup history and generate a restore SQL script then run it on a schedule from sql agent job, eg:

    DECLARE @SQLCMD nvarchar(MAX)

    ,@DBtoRestore nvarchar(256)

    ,@BackupLocation nvarchar(MAX)

    ,@BackupPosition int

    SELECT TOP 1

    @DBtoRestore = bs.database_name

    ,@BackupLocation = mf.physical_device_name

    ,@BackupPosition = bs.position

    FROM msdb.dbo.backupset bs

    JOIN msdb.dbo.backupmediafamily mf

    ON mf.media_set_id = bs.media_set_id

    JOIN ABC_SETTINGS abc

    ON bs.database_name = abc.Name_DB

    WHERE type = 'D'

    ORDER BY abc.Version DESC, bs.position DESC

    SELECT @SQLCMD = N'USE ['+ @DBtoRestore + ']; ALTER DATABASE ['+ @DBtoRestore + '] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;'

    SELECT @RestoreSQL = N'USE [master]; RESTORE DATABASE [' + Name_DB + '] FROM DISK = '''+ @BackupLocation + ''' WITH REPLACE, RECOVERY'

    SELECT @SQLCMD = @SQLCMD + @RestoreSQL

    EXEC @SQLCMD