Quando você o executa agendado com o agendador, você está iniciando uma nova instância de programa a cada minuto.
E o novo programa tem que abrir e fechar o banco de dados toda vez.
Isso consome mais recursos no servidor e no banco de dados do que um programa que continua em execução o tempo todo e pesquisa apenas a conexão do banco de dados (já aberta) uma vez por minuto para fazer a verificação.
Por outro lado ... Um programa em execução contínua pode vazar lentamente memória ou outros recursos ao longo do tempo. E se o banco de dados, por algum motivo, ficar off-line / for inacessível enquanto o programa estiver em execução, ele deverá ser capaz de recuperar-se disso. O programa agendado obviamente não tem que lidar com isso.
Você pode ter desempenho de sistema suficiente para que não haja diferença perceptível no mater que variante você usa.
Então, isso realmente depende de todo o ambiente. Não posso fazer uma recomendação geral de "melhores práticas".