CORREÇÃO: O resultados incorretos ao executar uma instrução Inserir selecione UNION ALL SQL Server de 2008 ou no SQL Server 2008 R2

Traduções deste artigo Traduções deste artigo
ID do artigo: 2530921 - Exibir os produtos aos quais esse artigo se aplica.

A Microsoft distribui correções de Microsoft SQL Server 2008 Microsoft SQL Server 2008 R2 Service Pack 1, como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e correções de segurança que foram incluídas com o anterior SQL Server 2008 Service Pack 1 ou SQL Server 2008 R2 corrigir lançamento.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando você executa um INSERIR A UNIÃO DE SELECIONAR TODOS OS instrução em SQL Server de 2008 ou no SQL Server 2008 R2, o resultado da instrução pode estar incorreto se uma tabela de origem das SELECIONE cláusula é usada como a tabela de destino das INSERIR cláusula.

Por exemplo, você pode executar as seguintes instruções para criar quatro tabelas:
CREATE TABLE [TabA] (M VARCHAR(20), W VARCHAR(20)) CREATE TABLE [TabB] (M VARCHAR(20), W VARCHAR(20), R VARCHAR(20)) CREATE TABLE [TabC] (P VARCHAR(6), M CHAR(20), A NUMERIC(13)) CREATE TABLE [TabD] (P VARCHAR(6), W VARCHAR(20), M VARCHAR(20), D NUMERIC(13), E DATETIME, F DATETIME)
Inserir alguns valores para o PastaUma, TabB, e TabD tabelas e, em seguida, execute o seguinte INSERIR A UNIÃO DE SELECIONAR TODOS OS instrução:

INSERT INTO [TabC] (P, M, A) SELECT T1.P,T1.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabA] T2 ON (T1.M = T2.M AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) UNION ALL SELECT T1.P,T2.M,T1.D / SUM(1) OVER(PARTITION BY P) FROM [TabD] T1 INNER JOIN [TabB] T2 ON (T1.M = T2.R AND T1.W = T2.W) WHERE NOT EXISTS (SELECT * FROM [TabC] E1 WHERE T1.P = E1.P) GO
Nesse cenário, você obtém resultados incorretos e alguns registros não incorretamente são inseridos na TabC tabela.

Resolução

Informações de atualização cumulativa

SQL Server 2008 R2

A correção para esse problema foi lançada em 9 de atualização cumulativa. Para obter mais informações sobre como obter o pacote de atualizações cumulativas para o SQL Server 2008 R2, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2567713 Pacote de atualização cumulativa 9 para SQL Server 2008 R2
Observação Porque as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e correções de segurança que foram incluídas com o anterior SQL Server 2008 R2 corrigir lançamento. Recomendamos 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:
981356 O SQL Server 2008 R2 compilações lançadas após o lançamento do SQL Server 2008 R2

SQL Server 2008 R2 Service Pack 1

A correção para esse problema foi lançada em 2 de atualização cumulativa para o SQL Server 2008 R2 Service Pack 1. Para obter mais informações sobre como obter esse pacote cumulativo de atualização, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2567714 Pacote cumulativo de atualização 2 para SQL Server 2008 R2 Service Pack 1.
Observação Porque as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e correções de segurança que foram incluídas com o anterior SQL Server 2008 R2 corrigir lançamento. Recomendamos 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:
2567616 SQL Server 2008 R2 compilações lançadas após o lançamento do SQL Server 2008 R2 Service Pack 1.

SQL Server 2008 Service Pack 2

A correção para esse problema foi lançada em 5 de atualização cumulativa para o SQL Server 2008 Service Pack 2. Para obter mais informações sobre esse pacote cumulativo de atualização, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2555408 Pacote de atualizações cumulativas 5 SQL Server 2008 Service Pack 2.
Observação Porque as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e lançamento de corrigir todas as correções de segurança que foram incluídas com o anterior de SQL Server de 2008. 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:
2402659 Compilações de 2008 de SQL Server que foram lançadas após o lançamento do SQL Server 2008 Service Pack 2.
Microsoft SQL Server de 2008 hotfixes são criados para específicos SQL Server service packs. Você deve aplicar um hotfix de SQL Server 2008 Service Pack 2 para uma instalação do SQL Server 2008 Service Pack 2. Por padrão, nenhum hotfix que é fornecido em um service pack do SQL Server está incluído no próximo service pack de SQL Server.

Atualização cumulativa de 1 da Pack SQL Server 2008 Service 14

A correção para esse problema foi lançada em 14 de actualização cumulativa para o SQL Server 2008 Service Pack 1. Para obter mais informações sobre esse pacote cumulativo de atualização, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
2527187 Pacote de atualizações cumulativas 14 SQL Server 2008 Service Pack 1.
Observação Porque as compilações são cumulativas, cada novo lançamento de correções contém todos os hotfixes e lançamento de corrigir todas as correções de segurança que foram incluídas com o anterior de SQL Server de 2008. 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:
970365 Compilações de 2008 de SQL Server que foram lançadas após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server de 2008 hotfixes são criados para pacotes de serviço específicos de SQL Server. Você deve aplicar um hotfix de SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por padrão, nenhum hotfix que é fornecido em um service pack do SQL Server está incluído no próximo service pack de SQL Server.

Situação

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

Propriedades

ID do artigo: 2530921 - Última revisão: segunda-feira, 15 de agosto de 2011 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
Palavras-chave: 
kbqfe kbexpertiseadvanced kbsurveynew kbfix kbmt KB2530921 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: 2530921

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