Condividi tramite


Migrazione (Service Broker)

Si applica a:SQL ServerIstanza gestita di SQL di Azure

Il processo comune per eseguire la migrazione di un'applicazione di Service Broker è spostare il database contenente l'applicazione in un'altra istanza del motore di database. Insieme al database vengono spostati molti aspetti dell'applicazione di Service Broker, Alcuni aspetti dell'applicazione dovranno 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, Questi oggetti vengono spostati con il database. La maggior parte dei database di Service Broker ha una chiave master del database (DMK). È necessario usare la password per DMK quando si collega il database nel nuovo percorso.

Dopo aver spostato il database, è necessario eseguire la procedura seguente:

  • Configurare eventuali account di accesso richiesti.

  • Aggiorna i servizi che avviano conversazioni con il servizio che stai trasferendo. In ogni database che contiene una route per il servizio che stai spostando, modifica la route per usare il nuovo indirizzo di rete.

  • Utilizzare le istruzioni CREATE DATABASE o ALTER DATABASE per attivare il recapito dei messaggi del Service Broker nel database ripristinato e impostare un identificatore di istanza del broker diverso. È consigliabile usare un solo identificatore di istanza broker in un database della rete alla volta. In genere, non si modifica l'identificatore dell'istanza quando si ripristina un backup che deve essere identico al database originale. Ad esempio, non si modifica l'identificatore dell'istanza del broker quando si collega un database per uno dei motivi seguenti:

    • Ripristinare un database
    • Creare una coppia con mirroring
    • 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 usa una route esplicita nel msdb database per instradare i messaggi in ingresso al servizio, è necessario ricreare questa route quando si collega un database in un'istanza diversa.

  • Gli endpoint e la sicurezza 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 sicurezza del trasporto per tale 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 sicurezza del trasporto per l'istanza sia configurata come richiesto dall'applicazione.

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