CORRECÇÃO: Você não pode sincronizar dados de grande objeto binário (BLOB) usando uma replicação transacional, quando você definir o parâmetro SubscriptionStreams do Distribution Agent para um valor que seja maior que 1 no SQL Server 2008

Traduções deste artigo Traduções deste artigo
ID do artigo: 975171 - Exibir os produtos aos quais esse artigo se aplica.
A Microsoft distribui correções do Microsoft SQL Server 2008 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento.
Expandir tudo | Recolher tudo

Sintomas

Considere o seguinte cenário:
  • No Microsoft SQL Server 2008, configurar uma replicação transacional em uma tabela que contém colunas (BLOB) grande objeto binário.
  • Você definir o parâmetro SubscriptionStreams do agente de distribuição como um valor que for maior que 1.
  • Inserir dados nas colunas (BLOB) grande objeto binário. O tamanho dos dados é maior do que o valor do parâmetro OleDbStreamThreshold.

    Observação: O valor padrão do parâmetro OleDbStreamThreshold é 16.384 bytes.
Quando vocês sincronizarem os dados nesse cenário, os seguintes sintomas pode aparecer:

Sintoma 1

O Distribution Agent pára de replicação de comandos. O status do agente de distribuição é definido como 2. Esse status é definido como 2 indica que o último comando foi duplicado com êxito. No entanto, ainda existem alguns comandos pendentes no distribuidor seja replicado para o assinante. Esses comandos contêm dados de grande objeto binário (BLOB). O tamanho de dados grande objeto binário (BLOB) é maior do que o valor do parâmetro OleDbStreamThresold. Além disso, as seguintes mensagens de erro são registradas no log do agente de distribuição:

Date Time Sem transações replicadas estão disponíveis.
Date Time Status do agente de REPL: 2
Date Time Adicionar alerta msdbsysreplicationalerts: ErrorId = 0,
Transação Seqno = Transaction Sequence Number, Command ID = 1
Mensagem: Replication Replication Distribution Subsystem: bem-sucedida do Distribution Agent Name do agente. Sem transações replicadas são available.OLE DB assinante ' Subscriber Name ': exec dbo.sp_MSupdatelastsyncinfo N ' Subscriber Name ' N ' Database Name ' Table Name ', 0, 2, N'No transações replicadas estão disponíveis. '

Sintoma 2

O Distribution Agent não é executado com êxito. O status do agente de distribuição é 6. As seguintes mensagens de erro são registradas no log do agente de distribuição:

Date Time Código de mensagem de agente 20046. Status do agente de REPL: 6
Date Time ErrorId = 22, SourceTypeId = 2 ErrorCode = '20046'
ErrorText = ''
Date Time Adicionar alerta msdbsysreplicationalerts: ErrorId = 22,
Transação Seqno = 00000021000000d1004800000000, Command ID = 1
Mensagem: Replication Replication Distribution Subsystem: agente < Distribution Agent Name > falhou. ErrorId = 22, SourceTypeId = 1
ErrorCode = ''
ErrorText = ' se @@ trancount > 0 reversão tran '
Juntamente com o erro registrado acima, o seguinte erro é registrado à tabela MSrepl_errors no banco de dados de distribuição:
O agente de distribuição falhou ao criar arquivos temporários no diretório 'C:\Arquivos de Programas\Microsoft SQL Server\100\COM'. Sistema retornado errorcode 32.

Resolução

Correção para esse problema foi lançada pela primeira vez na atualização cumulativa 4 para o SQL Server 2008 Service Pack 1. Para obter mais informações sobre esse pacote de atualizações cumulativas, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
973602Pacote de atualizações cumulativas 4 para SQL Server 2008 Service Pack 1
Observação: Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento. A Microsoft recomenda que você considere a aplicação a versão mais recente de correção que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
970365Compilações do SQL Server 2008 que foram lançadas lançamento após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 hotfixes são criados para service packs do SQL Server específicos. Você deve aplicar um hotfix do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por padrão, qualquer hotfix fornecidas em um service pack do SQL Server está incluído no próximo service pack do SQL Server.

Como Contornar

Para contornar esse problema, use um dos seguintes métodos.

Método 1

Defina o parâmetro SubscriptionStreams do agente de distribuição como um valor de 1.

Método 2

Você pode definir o parâmetro OleDbStreamThreshold do Distribution Agent para um valor que é maior do que o maior tamanho de dados para colunas (BLOB) grande objeto binário que deve ser replicado. Em seguida, o Distribution Agent não irá vincular os dados de objeto grande binário (BLOB) como um fluxo. A partir do SQL Server 2008, os dados de objeto grande binário (BLOB) são vinculados como um fluxo de quando o tamanho de dados de dados grande objeto binário (BLOB) é menor do que o valor do parâmetro OleDbStreamThreshold. Esse comportamento é true por padrão.

Observação: Se você usar esse método, o agente de distribuição terá mais tempo para replicar colunas (BLOB) grande objeto binário.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".

Referências

Para obter mais informações sobre o parâmetro OleDbStreamThreshold, visite o seguinte site da Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/ms147328.aspx
Para obter mais informações sobre o modelo de serviços incrementais para SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
935897Há um modelo de serviços incrementais da equipe do SQL Server para fornecer hotfixes para problemas relatados

Para obter mais informações sobre o esquema de nomeação para atualizações do SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
822499Novo esquema para nomeação dos pacotes de atualização de software Microsoft SQL Server

Para obter mais informações sobre a terminologia da atualização, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão usada para descrever as atualizações de software

Propriedades

ID do artigo: 975171 - Última revisão: quinta-feira, 18 de março de 2010 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
Palavras-chave: 
kbmt kbsurveynew kbfix kbqfe kbexpertiseadvanced KB975171 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 975171

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