CORRECÇÃO: Resultados diferentes podem ser retornados quando você executar a mesma consulta simultaneamente com a opção RECOMPILE no SQL Server 2008

Traduções deste artigo Traduções deste artigo
ID do artigo: 976603 - Exibir os produtos aos quais esse artigo se aplica.
A Microsoft distribui correções do Microsoft SQL Server 2008 como um arquivo para download. Porque 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

No Microsoft SQL Server 2008, você tem uma consulta que usa a opção RECOMPILAR. No entanto, se você executar a consulta simultaneamente em algumas conexões, resultados diferentes podem ser retornados para a mesma consulta.

Causa

No SQL Server 2008, foi introduzido um aprimoramento que o otimizador de consulta usar os valores reais parâmetro passados ao compilar os planos para lotes executados com a sintaxe OPTION RECOMPILAR permitido. (Parâmetro Embedding otimização)

A causa para esse problema foi o fato de que o otimizador vinculado planos que tinham sido compilados usando esse método para um segmento específico. No entanto não houve nenhuma garantia de que o plano compilado neste thread sempre seria executado no mesmo thread.

Resolução

Primeiro, a correção para esse problema foi lançada em 5 de atualizações cumulativas 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:
975977Pacote de atualizações cumulativas 5 para SQL Server 2008 Service Pack 1
Observação Como as compilações são cumulativas, cada novo lançamento 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 aplicar o lançamento 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:
970365Compilações de SQL Server 2008 que foram lançadas após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 hotfixes são criados para específicos de service packs do SQL Server. 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 é fornecido no service pack do SQL Server está incluído no service pack próximo do SQL Server.

Como Contornar

Para contornar esse problema, não use a opção RECOMPILAR.

Situação

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

Mais Informações

Este problema foi originalmente resolvido no SQL Server 2008 cumulativa Update 4 removendo as rotinas de otimização de incorporação de parâmetro ou avisando para não usar a sintaxe RECOMPILAR OPTION.

Para obter mais informações, visite o seguinte artigo do KB:
968693CORRECÇÃO: Uma consulta que usa parâmetros e a opção RECOMPILE retorna resultados incorretos quando executar a consulta em várias conexões simultaneamente no SQL Server 2008




Agora a Microsoft ter lançou essa correção que é uma solução completa para esse problema, resolve o problema original resultados incorretos, mas também permite o uso da funcionalidade aprimorada da sintaxe OPTION RECOMPILAR introduzido no SQL Server 2008.

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:
935897Um modelo de serviços incrementais está disponível da equipe do SQL Server para fornecer hotfixes para problemas relatados


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:
822499Novo esquema para nomeação dos pacotes de atualização de software Microsoft SQL Server


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

Propriedades

ID do artigo: 976603 - Última revisão: segunda-feira, 16 de novembro de 2009 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
Palavras-chave: 
kbmt kbexpertiseadvanced kbsurveynew kbqfe kbfix KB976603 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: 976603

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