Migration (Service Broker)

La procédure traditionnelle pour migrer une application Service Broker consiste à déplacer la base de données contenant l'application vers une autre instance du Moteur de base de données. De nombreux aspects de l'application Service Broker sont déplacés avec la base de données. Cependant, certains aspects doivent être recréés ou reconfigurés dans le nouvel emplacement.

La base de données contient les objets Service Broker, les procédures stockées, les certificats, les utilisateurs et les itinéraires sortants pour l'application. Ceux-ci sont déplacés avec la base de données. La plupart des bases de données Service Broker possèdent une clé principale de base de données. Vous devez utiliser le mot de passe de la clé principale lorsque vous attachez la base de données à son nouvel emplacement.

Après avoir déplacé la base de données, vous devez effectuer les opérations suivantes :

  • Configurer les connexions requises.

  • Mettre à jour les services qui engagent les conversations avec le service que vous déplacez. Dans chaque base de données contenant un itinéraire pour le service que vous déplacez, modifier l'itinéraire afin qu'il utilise la nouvelle adresse réseau.

  • Utiliser la commande CREATE DATABASE ou ALTER DATABASE pour activer la remise de messages Service Broker dans la base de données restaurée et définir un identificateur d'instance Service Broker différent. Cet identificateur ne doit être utilisé que par une seule base de données à la fois sur le réseau. En règle générale, vous ne modifiez pas l'identificateur d'instance lorsque vous restaurez une sauvegarde qui est prévue identique à la base de données originale. Par exemple, vous ne changez pas l'identificateur d'instance Service Broker lorsque vous joignez une base de données pour l'une des raisons suivantes :

    • Récupérer la base de données

    • Créer une paire en miroir

    • Configurer la copie des journaux de transaction d'un serveur de secours

  • Les itinéraires pour les messages entrants ne sont pas inclus dans la base de données qui contient le service. Si, pour acheminer les messages entrants jusqu'au service, votre service utilise un itinéraire explicite de la base de données msdb, vous devez recréer cet itinéraire lorsque vous attachez la base de données à une nouvelle instance.

  • La sécurité du transport et les points de terminaison Service Broker s'appliquent à l'instance en totalité plutôt qu'à une base de données spécifique. Ainsi, le fait d'attacher une base de données à une nouvelle instance n'a pas d'incidence sur les points de terminaison ou la sécurité du transport de cette instance. Si votre service envoie ou reçoit des messages sur le réseau, vous devez vous assurer que la nouvelle instance possède un point de terminaison Service Broker. Vous devez également veiller à ce que la sécurité de transport de l'instance est configurée conformément aux exigences de votre application.

Après avoir déplacé une base de données, vous pouvez vérifier les erreurs Service Broker en exécutant l'utilitaire ssbdiagnose. Pour plus d'informations, consultez Utilitaire ssbdiagnose.