Oui, vous devrez créer les travaux sur toutes les autres réplicas que vous souhaitez que ces travaux spécifiques s'exécutent s'il s'agissait du réplica principal.
Vous devrez créer votre propre logique pour savoir si / quand chaque travail de l'Agent SQL Server s'exécutera . Par exemple, souhaitez-vous exécuter un travail uniquement si l'instance actuelle est la réplique principale d'un groupe de disponibilité particulier? Vous devrez mettre cela dans votre travail. Il ne peut pas être supprimé automatiquement, car cela enlèverait la flexibilité de AlwaysOn AG. Que vous souhaitiez les désactiver sur les répliques secondaires dépend entièrement de vous, de ce que font ces travaux et comment / quand / si vous souhaitez qu'ils s'exécutent.
N'oubliez pas que le serveur de réplique secondaire n'est pas seulement un serveur de secours en attente de basculement. Il pourrait s'agir d'un serveur entièrement fonctionnel et accessible. Pour cette raison, avoir chaque emploi assis au ralenti serait un énorme handicap.
Donc, oui, vous devrez pousser nos travaux vers d'autres répliques et utiliser une logique pour savoir si le travail doit continuer son exécution au démarrage.
Par exemple, les tâches de sauvegarde peuvent tirer parti de la fonction sys.fn_hadr_backup_is_preferred_replica en déterminant si la réplique actuelle est la réplique préférée pour une base de données particulière. Cela permettra de déterminer la configuration de votre groupe de disponibilité pour les préférences de sauvegarde.
J'ai rencontré un peu de frustration similaire avec la documentation de Books Online disant «lors de la planification de votre travail, ajoutez une logique pour exécuter uniquement sur le primaire» mais ne dites pas comment le faire. Le sys.fn_hadr_backup_is_preferred_replica est super sympa pour les jobs de sauvegarde, mais il ne semble pas y avoir de fonction similaire pour 'is primary' ou ce que vous avez. Heureusement, vous pouvez récupérer ces informations à partir de quelque chose comme ceci:
Cela vous permettrait simplement de connaître le rôle de la base de données actuelle.
la source