web-dev-qa-db-fra.com

problème avec le courtier de service à toujours

l'un de mes clients a une base de données qui fonctionne avec le service de service, nous avons essayé la semaine dernière de déplacer la base de données vers un environnement toujours sur l'environnement sans connaître l'application utilise le courtier de service. Après des plaintes que cela ne fonctionnait pas (les réunions programmées n'étaient pas ajoutées au calendrier et ne terminaient pas lorsque les anciennes ont été effectuées (sa application de clinique)), nous avons trouvé Microsoft Référence au courtier de service avec toujours et essayé de l'utiliser. : https://docs.microsoft.com/en-us/sql/database-Engine/Availability-groups/windows/service-broker-with-always-on-Availability-Groups-sql-server?view = SQL-Server-2017

mais cela n'a toujours pas fonctionné. Au début, nous avons essayé

alter database [databasename] set enable_broker with rollback immediate

alter database [databasename] set new_broker with rollback immediate

et nous avons reçu une erreur error

MSG 1468, niveau 16, État 1, ligne 2 L'opération ne peut pas être effectuée sur la base de données "DBName" car elle est impliquée dans une session de miroir de base de données ou un groupe de disponibilité. Certaines opérations ne sont pas autorisées sur une base de données qui participe à une session de miroir de base de données ou dans un groupe de disponibilité. MSG 5069, niveau 16, état 1

nous avons également essayé ces commandes:

 CREATE ENDPOINT [SSBEndpoint] 

    STATE = STARTED 

    AS TCP  (LISTENER_PORT = 4022, LISTENER_IP = ALL ) 

    FOR SERVICE_BROKER (AUTHENTICATION = WINDOWS)


     GRANT CONNECT ON ENDPOINT::[SSBEndpoint] TO [PUBLIC] 


ALTER ROUTE AutoCreatedLocal

   WITH ADDRESS = 'TCP://[server]:4022'  ;

à la fin, nous n'avions pas de choix et nous l'avons sorti de toujours sur le groupe et après avoir exécuté cette commande, cela a fonctionné:

   ALTER ROUTE AutoCreatedLocal
   WITH ADDRESS = 'LOCAL'  ;

quelqu'un a-t-il des conseils de ce que nous manquons ici sur la configuration? Merci.

1
sql_girl

Je suis sûr que cela est trié aujourd'hui, mais vous devez activer le courtier de service avant de créer le groupe de disponibilité. Ce message suggère que vous avez créé l'AG, puis j'ai essayé de configurer le courtier de service après.

2