Sí, deberá crear los trabajos en cualquier otra réplica que desee que se ejecuten esos trabajos específicos si fueran la réplica principal.
Deberá crear su propia lógica para si / cuándo se ejecutará cada trabajo del Agente SQL Server . Por ejemplo, ¿desea ejecutar un trabajo solo si la instancia actual es la réplica principal de un grupo de disponibilidad en particular? Tendrá que poner eso en su trabajo. No se puede cubrir automáticamente, ya que eso eliminaría la flexibilidad de AlwaysOn AG. Si desea que se deshabiliten en las réplicas secundarias depende completamente de usted, qué hacen esos trabajos y cómo / cuándo / si desea que se ejecuten.
Recuerde, el servidor secundario de réplica no es solo un servidor en espera que espera la conmutación por error. Podría ser un servidor totalmente funcional y accesible. Debido a esto, tener cada trabajo sin hacer nada sería una gran discapacidad.
Entonces, sí, necesitará llevar nuestros trabajos a otras réplicas y usar cierta lógica para determinar si el trabajo debe continuar la ejecución cuando se inicia.
Por ejemplo, los trabajos de respaldo pueden aprovechar la función sys.fn_hadr_backup_is_preferred_replica al determinar si la réplica actual es la preferida para una base de datos en particular. Esto derivará cómo tiene su grupo de disponibilidad configurado para las preferencias de copia de seguridad.
Encontré un poco de frustración similar con la documentación en los Libros en línea que decía 'cuando programe su trabajo, agregue lógica para ejecutar solo en el primario' pero no dice cómo hacerlo. El sys.fn_hadr_backup_is_preferred_replica es súper agradable para los trabajos de respaldo, pero no parece haber una función similar para 'es primario' o lo que sea. Afortunadamente, puedes obtener esa información de algo como esto:
Eso solo le haría saber el papel que tiene la base de datos actual.
fuente