Desinstalar aplicativos do Service Broker

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

Você deve desinstalar um aplicativo do Service Broker somente quando o banco de dados continuar hospedado na mesma instância, mas não fornecer mais o serviço que o aplicativo implementa. Descartar um banco de dados descarta os objetos do Service Broker dentro desse banco de dados. Mover um banco de dados de uma instância para outra também move os serviços hospedados dentro desse banco de dados.

Desinstalar um serviço de iniciação

Para desinstalar um serviço sendo iniciado, primeiramente interrompa o aplicativo na criação de mensagens a serem enviadas. A melhor maneira de impedir que o aplicativo envie novas mensagens depende do tipo de aplicativo. Para um aplicativo que usa um procedimento armazenado para iniciar uma conversa, talvez seja necessário descartar esse procedimento armazenado. Para um programa externo, talvez seja necessário tornar o programa indisponível para os usuários ou desinstalar o programa.

Depois de interromper a criação de novas mensagens pelo serviço, certifique-se de que o serviço processe cada mensagem restante na fila. Você pode criar um procedimento simples que recebe cada mensagem na fila, encerra a conversa com um erro e remove o estado da conversa. O processamento de todas as mensagens na fila permite que os aplicativos de destino encerrem a conversa normalmente em vez de aguardar uma resposta do serviço que você está desligando.

Finalmente, descarte a definição de serviço para assegurar que o Service Broker já não aceita mensagens do serviço. Descarte qualquer rota para o serviço. Descarte os contratos, tipos de mensagens e filas do serviço a menos que esses objetos sejam usados por outro serviço na instância. Se necessário, descarte o procedimento armazenado de ativação do serviço.

Desinstalar um serviço de destino

Para desinstalar um serviço de destino, primeiramente certifique-se de que o serviço processe cada mensagem restante na fila. Você pode permitir que o aplicativo processe as mensagens, escrever um procedimento simples que encerre as conversões com um erro de aplicativo específico ou simplesmente descartar o serviço para encerrar as conversas com um erro do Service Broker. Seja qual for o método escolhido, encerrar as conversas permite que os aplicativos iniciados terminem normalmente, em vez de aguardar uma resposta do serviço que você está desligando.

Em bancos de dados que hospedam serviços de inicialização, remova cada rota que contenha o endereço de rede do serviço que você está desinstalando. Solte as rotas para esse serviço no msdb banco de dados de instâncias que encaminham mensagens para esse serviço. Se a instância que hospeda o serviço contiver uma rota msdb para o serviço, remova essa rota.

Finalmente, descarte a definição de serviço para assegurar que o Service Broker já não aceita mensagens do serviço. Descarte os contratos, tipos de mensagens e filas do serviço a menos que esses objetos sejam usados por outro serviço na instância. Se necessário, descarte o procedimento armazenado de ativação do serviço.