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

Traduções de Artigos Traduções de Artigos
Artigo: 275680 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

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.

Propriedades

Artigo: 275680 - Última revisão: 31 de outubro de 2003 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
Palavras-chave: 
kbmt kbprb KB275680 KbMtpt
Tradução automática
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.
Clique aqui para ver a versão em Inglês deste artigo: 275680

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com