Artigo: 971970 - Última revisão: terça-feira, 14 de Julho de 2009 - Revisão: 1.0

CORRECÇÃO:, Não é possível inserir linhas ou carregar alterações nas tabelas do subscritor de SQL Server 2005 Compact Edition depois de executar o procedimento "sp_changemergearticle" armazenado ou adicionar um novo artigo de publicação de impressão em série quando outro artigo tem uma coluna IDENTITY

Está disponível transferência de hotfixDisponível transferência de hotfix
Ver e solicitar transferências de hotfix
Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Considere o seguinte cenário:
  • Criar uma publicação de intercalação no SQL Server.
  • Adicionar um artigo de tabela que tem uma coluna IDENTITY à publicação.
  • Pode adiciona um filtro com parâmetros de linha para o artigo.
  • Criar uma subscrição de SQL Server 2005 Compact Edition à publicação.
  • Sincronizar a subscrição.
Em seguida, efectue uma das seguintes operações:
  • No Editor, executar o procedimento armazenado sp_changemergearticle para alterar uma das propriedades seguintes deste artigo:
    • processing_order
    • delete_tracking
    • partition_options
  • Adicionar um novo artigo à publicação e inicie o agente de Snapshot.
Depois de sincronizar a subscrição, quando tenta inserir uma linha na tabela subscritor, encontrar um dos seguintes problemas:
  • Se existir um registo na tabela que tem um valor de 1 para a coluna IDENTITY , receberá a seguinte mensagem de erro:
    Erro principal 0x80040E2F, erro secundária 25016
    ><Insert Statement>
    Um valor duplicado não é possível inserir um índice exclusivo. [Nome da tabela = <TableName>, nome da restrição = <ConstraintName> ]
  • Se não existem registos na tabela têm um valor de 1 para a coluna IDENTITY , pode inserir com êxito uma linha na tabela subscritor. No entanto, quando sincronizar a subscrição para carregar a alteração para o fabricante, receberá a seguinte mensagem de erro:
    Uma linha de subscritor não conseguiu aplicar no Editor. Reveja os parâmetros de erro e as tabelas de registo de conflitos no Editor para determinar o motivo da linha falhou a aplicação. [Nome da tabela = <TableName>, linha guid = <GUID> ]
    HRESULT 0 X 80004005 (28802)

Causa

Este problema ocorre porque a tabela no subscritor é reseeded ao valor de 1 depois de efectuar uma das seguintes operações:
  • No Editor, executar o procedimento armazenado sp_changemergearticle para alterar uma das propriedades seguintes deste artigo:
    • processing_order
    • delete_tracking
    • partition_options
  • Adicionar um novo artigo à publicação e inicie o agente de Snapshot.
O valor da coluna AUTOINC_SEED indica a propagação da coluna IDENTITY . Para verificar a propagação da coluna IDENTITY , executa a instrução a seguir a tabela no subscritor:
SELECT AUTOINC_MIN, AUTOINC_MAX, AUTOINC_NEXT, AUTOINC_INCREMENT, AUTOINC_SEED
FROM INFORMATION_SCHEMA.COLUMNS
WHERE AUTOINC_MIN IS NOT NULL

Resolução

Informações sobre a correcção

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentada, submeta um pedido para o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Existem não pré-requisitos para instalar esta correcção.

Requisito de reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui uma correcção disponibilizada anteriormente.

Informações do ficheiro

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item data e hora no painel de controlo.
Para todas as versões baseadas em ARMV4i do Windows CE 5.0
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempo
Sqlce30.Dev.enu.wce5.armv4i.cabNão aplicável324,83416-Jun-200912: 50
Sqlce30.REPL.wce5.armv4i.cabNão aplicável758,30616-Jun-200912: 50
Sqlce30.wce5.armv4i.cabNão aplicável1,622,65416-Jun-200912: 50
Para todas as versões baseadas em ARMV4 do Windows CE 4.0 para dispositivos Pocket PC suportadas
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempo
Sqlce30.Dev.enu.PPC.wce4.armv4.cabNão aplicável320,23416-Jun-200912: 29
Sqlce30.PPC.wce4.armv4.cabNão aplicável1,580,66216-Jun-200912: 29
Sqlce30.REPL.PPC.wce4.armv4.cabNão aplicável736,26616-Jun-200912: 29
Para todas 86 versões do SQL Server 2005 Compact Edition x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempo
Eula_en.rtfNão aplicável114,90003-Jun-200910: 55
Sqlceca30.dll3.0.5300.14293,76015-Jun-200922: 55
Sqlcecompact30.dll3.0.5300.1459,28015-Jun-200922: 55
Sqlceer30en.dll3.0.5300.14136,09615-Jun-200922: 57
Sqlceme30.dll3.0.5300.1451,07215-Jun-200922: 55
Sqlceoledb30.dll3.0.5300.14139,13615-Jun-200922: 55
Sqlceqp30.dll3.0.5300.14532,35215-Jun-200922: 55
Sqlcese30.dll3.0.5300.14290,68815-Jun-200922: 55
System.data.sqlserverce.dll3.0.5300.14235,40815-Jun-200921: 13

Ponto Da Situação

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

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Compact Edition
Palavras-chave: 
kbmt kbsurveynew kbhotfixserver kbautohotfix kbexpertiseadvanced kbqfe kbfix KB971970 KbMtpt
Tradução automáticaTraduçã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: 971970  (http://support.microsoft.com/kb/971970/en-us/ )