Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
O framework do manipulador de lógica de negócios permite que você crie um assembly em código gerenciado que é invocado durante o processo de sincronização de mesclagem. O assembly inclui lógica comercial que pode responder a uma série de condições durante a sincronização: alterações de dados, conflitos e erros. O framework do manipulador de lógica de negócios fornece um modelo de programação simples, e os dados que o processo de mesclagem fornece para seu assembly vêm na forma de um conjunto de dados ADO.NET, de modo que você pode usar seus conhecimentos de ADO.NET em vez de aprender uma interface proprietária. Para obter mais informações sobre como programar manipuladores de lógica comercial, consulte:
A referência da interface de programas aplicativos (API): Microsoft.SqlServer.Replication.BusinessLogicSupport
Instruções sobre como implementar um manipulador de lógica de negócios: Implementar um manipulador de lógica de negócios para um artigo de mesclagem
Usos dos manipuladores de lógica de negócios
O processo de sincronização de mesclagem pode chamar manipuladores de lógica comercial para executar:
Tratamento personalizado de alterações
Resolução de conflito personalizada
Resolução de erro personalizada
Observação
O manipulador de lógica de negócios que você especificar será executado para cada linha que for sincronizada. Lógica complexa e chamadas para outras aplicações ou serviços de rede podem afetar o desempenho.
Tratamento personalizado de alterações
O manipulador de lógica comercial pode ser invocado durante o processamento de alterações de dados não conflitantes e pode executar uma destas três ações:
Rejeite os dados
Isso é útil para aplicativos que não desejam que alterações sejam propagadas para ou a partir de um determinado Assinante. Por exemplo, um administrador poderá retirar inserções que não pertencem à partição do Assinante ou possivelmente rejeitar exclusões executadas em um Assinante. Como outro exemplo, um aplicativo poderá rejeitar uma ordem inserida em um Assinante porque o inventário não está mais disponível.
Aceite os dados
Isto é útil para aplicativos nos quais é necessário rever alterações de dados feitas no Publicador ou Assinante antes de permitir a sua propagação. Por exemplo, um aplicativo da camada intermediária poderá examinar novas ordens provenientes do campo e integrá-las com um processo de fluxo de trabalho de aquisição na camada intermediária.
Aplique dados personalizados
Isto é útil para aplicativos que precisam substituir valores de dados ou operações específicos. Por exemplo, um aplicativo poderia transformar a exclusão de uma linha em uma atualização especial que define a coluna status da linha com o valor "excluído" e, em seguida, rastreia a identidade do cliente que executa a exclusão. Isto poderá ser útil para fins de auditoria ou de fluxo de trabalho.
Resolução de conflito personalizada
A replicação de mesclagem fornece detecção e solução de conflitos, permitindo que você aceite uma estratégia de resolução padrão ou escolha uma resolução personalizada para conflitos. Para obter mais informações, consulte Detecção e resolução avançadas de conflitos de replicação de mesclagem. O manipulador de lógica comercial pode ser chamado durante o processamento de alterações de dados conflitantes e pode executar uma destas duas ações:
Aceite resolução padrão
Isso é útil para aplicativos que podem precisar analisar o conflito, executar ações adicionais e possivelmente registrar uma mensagem de log de conflito personalizada.
Execute resolução personalizada
Isso é útil para aplicativos que podem precisar selecionar valores de dados que são específicos à sua lógica comercial e fornecer o processo de sincronização com este conjunto de dados personalizados. Por exemplo, um aplicativo poderá fornecer uma nova versão da linha vencedora combinando valores dos conjuntos de dados do Publicador e Assinante.
Resolução de erro personalizada
A lógica personalizada pode ser chamada durante a propagação de alterações que resultam em erros. A lógica pode executar uma dessas duas ações:
Aceite resolução de erro padrão
Isso é útil para aplicativos precisam analisar o erro e executar outras ações e, possivelmente, registrar uma mensagem de log de erros personalizada.
Aceite resolução de erro personalizada
Isso é útil para aplicativos que podem precisar selecionar valores de dados que são específicos à sua lógica comercial e fornecer o processo de sincronização com este conjunto de dados personalizados. Por exemplo, se o processo de replicação encontrar uma violação de chave duplicada, o manipulador de lógica comercial poderá fornecer uma nova versão da alteração de dados em que a chave não será mais conflitante. As alterações feitas no Publicador e no Assinante podem então persistir no banco de dados, e o processo de replicação não precisa compensar a falha na inserção com uma exclusão.
Cenários de Implantação para Manipuladores de Lógica de Negócios
Manipuladores de lógica de negócios podem ser implantados em:
O Distribuidor. Use uma assinatura push de forma que a lógica comercial seja executada no Distribuidor.
Assinante. Use uma assinatura pull de forma que a lógica comercial seja executada no Assinante.
Um servidor IIS (Serviços de Informações da Internet) se a sincronização da Web for usada. Use uma assinatura pull sincronizada com a sincronização da Web, e o manipulador de lógica de negócios será executado no servidor IIS.