DetailPage-MSS-KB

Base de Dados de Conhecimento

ID do artigo: 948628 - Última revisão: terça-feira, 26 de fevereiro de 2008 - Revisão: 1.1

 
Bug: # 50002221 (Hotfix do SQL)
A Microsoft distribui correções do Microsoft SQL Server 2005 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todos os as correções de segurança que foram incluídas com o anterior SQL Server 2005 corrigir lançamento.

Sintomas

Considere o seguinte cenário no Microsoft SQL Server 2005:
  • Você configurar uma replicação de mesclagem para uma tabela que contém uma ou mais colunas do tipo de dados XML.
  • Você cria um filtro de mesclagem para a tabela. O filtro de mesclagem é um tipo de relação de registro lógico. @ filter_type parâmetro de procedimento armazenado sp_addmergefilter é 2 ou 3.
  • Você executa uma instrução em lotes contra essa tabela no Editor ou em um assinante.
  • A instrução em lotes consiste em uma instrução DELETE seguida por uma instrução INSERT.
  • Em seguida, você sincronizar a replicação.
Nesse cenário, quando você examinar os dados inseridos em outra réplica, as colunas de tipo de dados XML podem ser seqüências de caracteres vazias. Esse problema resulta na não-convergência de dados.

Causa

No Microsoft SQL Server 2005, se você executar uma operação de inserção ou uma operação de atualização em uma tabela que contém colunas XML, a replicação de mesclagem não a operação em duas etapas. A primeira etapa insere ou atualiza todas as colunas que não são o tipo de dados XML. A segunda etapa executa uma operação de atualização para cada coluna do tipo de dados XML. Essas etapas ocorrem porque as colunas XML podem ser vinculadas somente como fluxos. No entanto, o provedor OLE DB não permite ligação mais de um fluxo para uma linha.

Como um lote tem apenas um tipo de comando, o tipo de comando do lote é DELETE se uma instrução DELETE estiver presente em um lote pela primeira vez. No cenário que é descrito em "Sintomas" seção, se houver um lote que contém uma instrução DELETE seguida por uma instrução INSERT, a alteração será ignorada na instrução INSERT para colunas XML.

Resolução

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 6. Para obter mais informações sobre como obter esse pacote de atualizações cumulativas para o SQL Server 2005 Service Pack 2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
946608  (http://support.microsoft.com/kb/946608/LN/ ) Pacote de atualizações cumulativas 6 para SQL Server 2005 Service Pack 2
Observação Como as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e todas as correções de segurança foram incluídas com o anterior SQL Server 2005 corrigir lançamento. A Microsoft recomenda que você considere a aplicação a versão de correção mais recente 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:
937137  (http://support.microsoft.com/kb/937137/LN/ ) Compilações do SQL Server 2005 lançados após o SQL Server 2005 Service Pack 2 foi lançado
Os hotfixes do Microsoft SQL Server 2005 são criados para service packs do SQL Server específicos. Você deve aplicar um hotfix do SQL Server 2005 Service Pack 2 para uma instalação do SQL Server 2005 Service Pack 2. Por padrão, qualquer hotfix fornecidas em um SQL Server service pack está incluído no service pack seguinte do SQL Server.

Situação

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

Mais Informações

Você pode usar a consulta a seguir para descobrir se um filtro de mesclagem do tipo de relação de registro lógico é criado para uma tabela.
Select f.artid, a.name, f.filter_type 
from sysmergesubsetfilters f join sysmergearticles a
on f.artid=a.artid where a.name='<TableName>'
DELETE A instrução não exige esse processo de duas etapas. A decisão de se fazer a segunda etapa é realizada no nível de lote observando o tipo do primeiro comando no lote de comando. A suposição é que todos os comandos no lote são do mesmo tipo. Portanto, é suficiente para examinar somente o primeiro comando no lote. Se houver registros lógicos em um lote, o lote pode ser feito de tipos de comando diferentes. Portanto, é suficiente examinar somente o primeiro comando. A decisão de se fazer a segunda etapa deve ser feita no nível do comando e não no nível de lote. Esse hotfix corrige esse problema. Após o hotfix é aplicado, todos os comandos são examinados e, em seguida, as etapas são determinadas com base no tipo comando.

Para mais informações sobre quais arquivos são alterados e para obter informações sobre quaisquer pré-requisitos para aplicar o pacote de atualização cumulativa que contém o hotfix descrito neste artigo, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
946608  (http://support.microsoft.com/kb/946608/LN/ ) Pacote de atualizações cumulativas 6 para SQL Server 2005 Service Pack 2

Referências

Para obter mais informações sobre a lista de compilações disponibilizadas após o SQL Server Service Pack 2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
937137  (http://support.microsoft.com/kb/937137/LN/ ) Compilações do SQL Server 2005 lançados após o SQL Server 2005 Service Pack 2 foi lançado
Para obter mais informações sobre o modelo incremental de serviços para o SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
935897  (http://support.microsoft.com/kb/935897/LN/ ) Há um modelo incremental de serviços da equipe do SQL Server para fornecer hotfixes para problemas relatados
Para obter mais informações sobre como obter o SQL Server 2005 Service Pack 2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
913089  (http://support.microsoft.com/kb/913089/LN/ ) Como obter o service pack mais recente para o SQL Server 2005
Para obter mais informações sobre os novos recursos e os aprimoramentos no SQL Server 2005 Service Pack 2, visite o seguinte site:
http://go.microsoft.com/fwlink/?LinkId=71711 (http://go.microsoft.com/fwlink/?LinkId=71711)
Para obter mais informações sobre o esquema para 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:
822499  (http://support.microsoft.com/kb/822499/LN/ ) Novo esquema para nomeação para pacotes de atualização de software do Microsoft SQL Server
Para obter mais informações sobre terminologia de atualização de software, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684  (http://support.microsoft.com/kb/824684/LN/ ) Descrição da terminologia padrão que é usada para descrever as atualizações de software

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Palavras-chave: 
kbmt kbsql2005repl kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced KB948628 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 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: 948628  (http://support.microsoft.com/kb/948628/en-us/ )
Compartilhar
Opções de suporte adicionais
Fóruns de Suporte do Microsoft Community
Contate-nos diretamente
Localize um parceiro certificado da Microsoft
Microsoft Store