Partilhar via


Desinstalando os aplicativos Service Broker

Você deve desinstalar um aplicativo do Agente de Serviços apenas quando o banco de dados continua a ser hospedado na mesma instância, mas não mais fornece o serviço que o aplicativo implementa. Descartar um banco de dados descarta os objetos do Agente de Serviços 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.

Desinstalando um serviço sendo iniciado

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ção, pode ser necessário descartar esse procedimento armazenado. Para um programa externo, você pode precisar tornar o programa indisponível aos 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ção com um erro e remove o estado da conversação. Processar todas as mensagens na fila permite que os aplicativos de destino encerrem a conversação normalmente em vez de esperar uma resposta do serviço sendo desligado.

Finalmente, descarte a definição de serviço para assegurar que o Agente de Serviços 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.

Desinstalando 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 conversações com um erro do Agente de Serviços. Qualquer que seja o método escolhido, encerrar as conversações permite que os aplicativos, sendo iniciados, sejam encerrados normalmente em vez de esperar uma resposta do serviço sendo desligado.

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

Finalmente, descarte a definição de serviço para assegurar que o Agente de Serviços 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.

Consulte também

Referência

Conceitos