CORRECÇÃO: Resultados inconsistentes, quando você executa uma consulta complexa que usa o operador APPLY no SQL Server 2008 R2

Traduções deste artigo Traduções deste artigo
ID do artigo: 2428310 - Exibir os produtos aos quais esse artigo se aplica.
A Microsoft distribui correções do Microsoft SQL Server 2008 R2 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 R2 anteriores corrigir o lançamento.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

No Microsoft SQL Server 2008 R2, você pode receber resultados inconsistentes quando você executa uma consulta complexa que usa oAPLICARoperador.

Observação:Receber o resultado correto nesse cenário, se você usar oORDEM DE FORÇADica de consulta em uma consulta.

Causa

Esse problema ocorre porque o otimizador de consulta seleciona um plano de execução incorreta para a consulta.

As alças do otimizador de consulta aAGRUPAR PORpredicado de várias colunas em um operador físico do plano de execução. No entanto, o operador gera a saída de todas as colunas agrupadas na lista de saída e não agrupa todas essas colunas. Portanto, a consulta pode retornar um resultado incorreto.

Observação:Um exemplo de um operador físico é oAgregação de fluxooperador.

Por exemplo, o otimizador de consultas gera umGROUP BY ColA, ColBcláusula internamente em relação a tabela a seguir:
Recolher esta tabelaExpandir esta tabela
ColAColB
00
01
O otimizador de consultas incorretamente pode gerar um plano de execução retorna ambos oColAeColBcolunas. Essas colunas são agrupadas pelaColAcoluna da lista de saída. Neste exemplo, a consulta pode retornar aleatoriamente0ou1naColBcoluna se os valores deColAsão de coluna0.

Resolução

Informações sobre a atualização cumulativa

SQL Server 2008 R2

A correção para esse problema foi lançada pela primeira vez em 5 de atualização cumulativa. Para obter mais informações sobre como obter esse 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:
2438347Pacote cumulativo de atualização de 5 para o SQL Server 2008 R2
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 que foram incluídas com o SQL Server 2008 R2 anteriores corrigir o 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:
981356O SQL Server 2008 R2 compilações disponibilizadas após o lançamento do SQL Server 2008 R2

Situação

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

Mais Informações

Para verificar se você está enfrentando esse problema, reveja o plano de execução da consulta problemático e, em seguida, verifique se os operadores de grupo. Por exemplo, verificar o operador aggregate do fluxo, o operador de agregados de hash, o operador de classificação distintas e o operador de segmento. Se a lista de colunas de saída for maior que a lista de colunas agrupadas, você está enfrentando esse problema.

Referências

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:
935897É de um modelo de serviços incrementais disponível 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 para pacotes de atualização de software do Microsoft SQL Server
Para obter mais informações sobre a terminologia da atualização de software, 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: 2428310 - Última revisão: sexta-feira, 31 de dezembro de 2010 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
Palavras-chave: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2428310 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: 2428310

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