Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
O framework do manipulador de lógica empresarial permite que o utilizador escreva um assembly de código gerido que é invocado durante o processo de sincronização de mesclagem. O assembly inclui lógica de negócio que pode responder a várias condições durante a sincronização: alterações de dados, conflitos e erros. A estrutura do processador da lógica de negócio fornece um modelo de programação simples, e os dados que o processo de intercalação fornece ao seu assembly estão sob a forma de um conjunto de dados ADO.NET, pelo que pode tirar partido dos seus conhecimentos de ADO.NET em vez de ter de aprender uma interface proprietária. Para mais informações sobre programação de manipuladores de lógica de negócio, veja:
A referência da interface de programação de aplicações (API): Microsoft.SqlServer.Replication.BusinessLogicSupport
Instruções sobre como implementar um Gestor de Lógica de Negócio: Implementar um Artigo de Gestão de Lógica de Negócio para uma Fusão
Utilizações para Manipuladores de Lógica de Negócio
O processo de sincronização de fusão pode invocar os manipuladores de lógica de negócio para realizar:
Tratamento personalizado de alterações
Resolução personalizada de conflitos
Resolução personalizada de erros
Note
O manipulador de lógica de negócios especificado é executado para cada linha sincronizada. Lógica complexa e chamadas para outras aplicações ou serviços de rede podem afetar o desempenho.
Tratamento de Alterações Personalizadas
O manipulador de lógica de negócio pode ser invocado durante o processamento de alterações de dados não conflituosas e pode realizar uma de três ações:
Rejeitar os dados
Isto é útil para aplicações que não querem que as alterações sejam propagadas para ou a partir de um dado Assinante. Por exemplo, um administrador pode excluir inserções que não pertençam à partição do Assinante, ou possivelmente rejeitar eliminações efetuadas num Assinante. Como outro exemplo, uma aplicação pode rejeitar uma ordem introduzida num Assinante porque o inventário já não está disponível.
Aceitar os dados
Isto é útil para aplicações em que é necessário rever alterações de dados feitas tanto no Publisher como no Assinante antes de permitir a sua propagação. Por exemplo, uma aplicação de nível médio poderia analisar novas encomendas provenientes do terreno e integrar-se com um fluxo de trabalho de aquisições no segmento intermédio.
Aplicar dados personalizados
Isto é útil para aplicações que precisam de sobrepor valores ou operações específicas de dados. Por exemplo, uma aplicação pode transformar uma eliminação de linha numa atualização especial que define uma coluna de estado na linha para o valor "eliminado" e depois acompanha a identidade do cliente que realiza a eliminação. Isto pode ser útil para auditoria ou fluxos de trabalho.
Resolução Personalizada de Conflitos
A replicação por fusão proporciona deteção e resolução de conflitos, permitindo-lhe aceitar uma estratégia de resolução padrão ou escolher uma resolução personalizada para conflitos. Para mais informações, consulte Deteção e Resolução Avançada de Conflitos de Replicação de Fusão. O manipulador de lógica de negócio pode ser invocado durante o processamento de alterações de dados conflitantes e pode realizar uma de duas ações:
Aceitar resolução padrão
Isto é útil para aplicações que possam precisar de rever o conflito, realizar ações adicionais e, possivelmente, registar uma mensagem personalizada de registo de conflitos.
Realizar resolução personalizada
Isto é útil para aplicações que possam precisar de selecionar valores de dados específicos para a sua lógica de negócio e fornecer o processo de sincronização com este conjunto de dados personalizado. Por exemplo, uma aplicação poderia fornecer uma nova versão da linha vencedora combinando valores dos conjuntos de dados Publisher e Subscriber.
Resolução de Erros Personalizada
Lógica personalizada pode ser invocada durante a propagação de alterações que resultem em erros. A lógica pode realizar uma de duas ações:
Aceitar o tratamento de erros predefinido
Isto é útil para aplicações que possam precisar de rever o erro e realizar ações adicionais e, possivelmente, registar uma mensagem de registo de erro personalizada.
Aceitar resolução personalizada de erros
Isto é útil para aplicações que possam precisar de selecionar valores de dados específicos para a sua lógica de negócio e fornecer o processo de sincronização com este conjunto de dados personalizado. Por exemplo, se o processo de replicação encontrar uma violação duplicada da chave, o responsável pela lógica de negócio pode fornecer uma nova versão da alteração dos dados em que a chave deixará de entrar em conflito. As alterações feitas no Publisher e no Subscritor podem então persistir na base de dados, e o processo de replicação não tem de compensar a falha do inserto com uma eliminação.
Cenários de Implementação para Manipuladores de Lógica de Negócio
Os manipuladores de lógica de negócio podem ser implementados em:
O distribuidor. Use uma subscrição push para que a lógica de negócio seja executada no Distribuidor.
O Assinante. Utilize uma subscrição pull para que a lógica de negócio seja executada no subscritor.
Um servidor Serviços de Informação Internet (IIS) se for utilizada a sincronização Web. Use uma subscrição pull sincronizada com a Sincronização Web, e o processador de lógica de negócio será executado no servidor IIS.