J’ai été appelé en urgence par un client après qu’un des sites primaires ne puissent plus dialoguer avec le CAS de son infrastructure System Center 2012 Configuration Manager. Le premier réflexe est d’aller dans la vue Monitoring – Database Replication. Là, je vois que le site n’est plus synchronisé depuis hier et que ni les données globales ni les données de site sont à jour.
Vous pouvez ensuite lancer l’outil Replication Link Analyzer en sélectionnant le lien qui ne réplique plus. Le résultat de l’analyse renvoie l’erreur « Service broker endpoint [ConfigMgrEndpoint] does not exist. Service broker login [ConfigMgrEndpointLoginCAS] does not have connect permission »
L’EndPoint du service Broker est utilisé au sens SQL pour écouter les transactions entre les sites. Je me suis donc connecté avec SQL Server Management Studio sur l’instance du site primaire. Le compte local ConfigMgrEndpointLoginCAS est bien présent. Par contre, il n’y a aucun EndPoint dans la partie Service Broker. Je n’ai toujours pas réussi à comprendre comment celui-ci a pu être supprimé.
Pour le recréer, Exécutez le script suivant en remplaçant le compte de service:
CREATE ENDPOINT [ConfigMgrEndpoint]
AUTHORIZATION <Compte de service>
STATE=STARTED
AS TCP (LISTENER_PORT = 4022, LISTENER_IP = ALL)
FOR SERVICE_BROKER (MESSAGE_FORWARDING = ENABLED
, MESSAGE_FORWARD_SIZE = 5
, AUTHENTICATION = CERTIFICATE [ConfigMgrEndpointCert]
, ENCRYPTION = REQUIRED ALGORITHM AES)
Go
Après exécution, Vous devez déléguer les permissions au compte ConfigMgrEndpointLoginCAS sur ce nouvel EndPoint. Ouvrez les propriétés et cliquez sur Securables. Sélectionnez Search… Choisssez Object Types… et sélectionnez EndPoints. Cliquez ensuite sur Browse… et sélectionnez ConfigMgrEndpoint. Ajoutez-lui ensuite le droit Connect.
Après cette modification, la réplication intersites repart sans problème. Vous devez juste attendre que les données soient répliquées.