PROBLEMA: Em massa operações num resultado de tabelas em linhas não replicada de replicação de impressão em série

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

275680
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Sintomas
Quando utiliza operações em massa, tais como o utilitário da linha de comandos bcp , instruções BULK INSERT Transact-SQL, a cópia em massa API ou SQL Server Data Transformation Services (DTS), para carregar dados para tabelas que participam na replicação de intercalação, a menos que determinadas medidas são retiradas, as linhas inseridas não são replicadas para outros servidores.
Causa
Uma vez que estas operações em massa são optimizadas para cargas rápidas e eficientes de grandes quantidades de dados, por predefinição não despoletado accionadores na tabela receber os dados inseridos. Uma vez que a replicação de intercalação requer a utilização de sistema accionadores nas tabelas participantes para registar alterações entre o publisher e o subscritor, se os accionadores não são desencadeados, replicação de intercalação não consegue replicar as linhas.
Como contornar
A solução para este problema depende do método que estiver a utilizar dados de cópia em massa e a versão do SQL Server estiver a utilizar:

  • Se utilizar o SQL Server DTS para inserir linhas, desmarque a opção Utilizar O rápido (activada por predefinição) no separador Opções da folha de propriedades de Tarefas de transformação de dados . No entanto, note que o SQL Server 2000 em massa inserir tarefas não expõe a capacidade de alterar a opção Utilizar rápida O , é apenas a tarefa de dados de transformação.

  • Se estiver a utilizar ou o utilitário da linha de comandos bcp ou a instrução Transact-SQL BULK INSERT no SQL Server 2000, tem de utilizar a opção FIRE_TRIGGERS. Tenha em atenção que a opção FIRE_TRIGGERS não está disponível no SQL Server versão 7.0. Uma vez que o FIRE_TRIGGERS opção para operações em massa de SQL Server versão 7.0 não está disponível, qualquer operação em massa fora do DTS resulta em linhas que não sejam replicadas para os subscritores.

  • Quando utilizar a API de cópia em massa através de ODBC, tem de activar a opção FIRE_TRIGGERS o identificador de ligação adequado através de uma chamada para a função bcp_control() .

  • Quando utiliza a interface IrowFastLoad OLE DB, especifique a opção FIRE_TRIGGERS para a propriedade SSPROP_FASTLOADOPTIONS na interface IOpenRowset.
Mais Informação
Inserir, eliminar e comandos de actualização que estão a ser replicado numa publicação de replicação de intercalação são registados pelo agente de intercalação quando são adicionados às tabelas MSmerge_contents e MSmerge_tombstone . Linhas são adicionadas a estas tabelas através de accionadores de sistema criados nas tabelas durante a configuração de replicação.

Operações em massa não verificar restrições de tabela ou incêndio accionadores na tabela de destino. Como resultado, os accionadores de sistema de replicação de intercalação não são accionados. Uma vez que estes accionadores não são accionados, as linhas que são "processadas" pelos inserção em massa operações não são adicionadas à tabela de MSmerge_contents e, por isso, não são replicados para os subscritores.

REFERÊNCIAS

Para mais informações sobre os efeitos de accionador execução com as tabelas de destino quando a opção FIRE_TRIGGERS é especificada, consulte o "Utilizar bcp e BULK INSERT" tópico SQL Server 2000 Books Online.
activar a cópia em massa ODBC OLE DB

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 275680 - Última Revisão: 01/16/2015 20:51:14 - Revisão: 3.2

  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • kbnosurvey kbarchive kbmt kbprb KB275680 KbMtpt
Esta informação foi útil?