Sim, você precisará criar os trabalhos em quaisquer outras réplicas que gostaria que esses trabalhos específicos fossem executados se fossem a réplica primária.
Você precisará criar sua própria lógica para se / quando cada tarefa do SQL Server Agent será executada . Por exemplo, você deseja executar um trabalho apenas se a instância atual for a réplica primária de um determinado Grupo de Disponibilidade? Você precisará colocar isso em seu trabalho. Não pode ser coberto automaticamente, porque isso tiraria a flexibilidade da AlwaysOn AG. Se você deseja que eles sejam desativados nas réplicas secundárias, você decide o que esses trabalhos fazem e como / quando / se você deseja que eles sejam executados.
Lembre-se de que o servidor de réplica secundário não é apenas um servidor em espera aguardando failover. Pode ser um servidor acessível e totalmente funcional. Por causa disso, ter todos os empregos ociosos seria uma enorme incapacidade.
Portanto, sim, você precisará enviar nossos trabalhos para outras réplicas e usar alguma lógica para determinar se o trabalho deve continuar em execução quando iniciar.
Por exemplo, as tarefas de backup podem aproveitar a função sys.fn_hadr_backup_is_preferred_replica , determinando se a réplica atual é a preferida para um banco de dados específico. Isso resultará em como você configurou seu Grupo de Disponibilidade para preferências de backup.
Eu encontrei um pouco de frustração semelhante com a documentação do Books Online dizendo 'ao agendar seu trabalho, adicione lógica para executar apenas no primário', mas sem dizer como fazê-lo. O sys.fn_hadr_backup_is_preferred_replica é super agradável para tarefas de backup, mas não parece haver uma função semelhante para 'is primary' ou o que você tem. Felizmente, você pode obter essas informações de algo assim:
Isso apenas informaria a função do banco de dados atual.
fonte