Migrazione (Service Broker)

Per eseguire la migrazione di un'applicazione di Service Broker è sufficiente spostare il database contenente l'applicazione in un'altra istanza di Motore di database. Insieme al database vengono spostati molti aspetti dell'applicazione di Service Broker, mentre alcuni devono essere ricreati o riconfigurati nella nuova posizione.

Il database contiene oggetti di Service Broker, stored procedure, certificati, utenti e route in uscita per l'applicazione, che vengono spostati insieme al database. Nella maggior parte dei database di Service Broker è disponibile una chiave master del database. Quando si collega il database nella nuova posizione, è necessario utilizzare la password per la chiave master.

Dopo aver spostato il database, è necessario effettuare le operazioni seguenti:

  • Configurare gli account di accesso necessari.

  • Aggiornare i servizi che avviano le conversazioni con il servizio che si desidera spostare. In ciascun database che contiene una route per il servizio che si desidera spostare, modificare la route in modo da utilizzare il nuovo indirizzo di rete.

  • Utilizzare l'istruzione CREATE DATABASE o ALTER DATABASE per attivare il recapito dei messaggi di Service Broker nel database ripristinato e di impostare un identificatore dell'istanza di Service Broker diverso. È necessario che un identificatore dell'istanza di Service Broker venga utilizzato da un solo database in rete alla volta. In genere non è necessario modificare l'identificatore dell'istanza quando si ripristina un backup che deve corrispondere esattamente al database originale, Non è ad esempio necessario modificare l'identificatore dell'istanza di Service Broker quando si collega un database per uno dei motivi seguenti:

    • Per recuperare un database

    • Per creare una coppia di server con mirroring

    • Per configurare il log shipping per un server di standby

  • Le route per i messaggi in arrivo non sono incluse nel database che contiene il servizio. Se il servizio utilizza un route esplicito nel database msdb per eseguire il routing dei messaggi in ingresso al servizio, quando si collega un database in una diversa istanza, è necessario ricreare questo route.

  • Gli endpoint e la protezione del trasporto di Service Broker vengono applicati all'istanza nel suo complesso anziché a un database specifico. Il collegamento di un database a una nuova istanza non influisce sugli endpoint o sulla protezione del trasporto per quell'istanza. Se il servizio invia o riceve messaggi in rete, è necessario assicurarsi che la nuova istanza disponga di un endpoint Service Broker. È inoltre necessario assicurarsi che la protezione del trasporto per l'istanza sia configurata come richiesto per l'applicazione.

Dopo aver spostato un database, è possibile controllare la presenza di errori di Service Broker eseguendo l'utilità ssbdiagnose. Per ulteriori informazioni, vedere Utilità ssbdiagnose.