• Just to confirm.

    The msdb.backupset table did show that there were transaction log backups that were taking the database offline (i.e. restoring state)

    Those backups were being run by the standard SQL maintenance plan and the option to backup the tail and leave in restoring state was not enabled.

    To prove this is the problem, we've disabled the job for a period of time to make sure no other log backups are running, and then we'll recreate the maintenance plan completely

    Thank you for your help