Artigo: 2222998 - Última revisão: segunda-feira, 18 de Outubro de 2010 - Revisão: 3.0

CORRECÇÃO: Uma estimativa de cardinalidade incorrecto é devolvida quando executar uma consulta no SQL Server 2005, SQL Server 2008 ou SQL Server 2008 R2

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.
A Microsoft distribui o Microsoft SQL Server 2005, Microsoft SQL Server 2008, ou o Microsoft SQL Server 2008 R2 corrige como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova edição contém todas as correcções e todas as correcções de segurança incluídas com o Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou Microsoft SQL Server 2008 R2 anteriores corrigir lançamento.

Nesta página

Expandir tudo | Reduzir tudo

Sintomas

Quando executar uma consulta no Microsoft SQL Server 2005, Microsoft SQL Server 2008 ou no Microsoft SQL Server 2008 R2, é devolvida uma estimativa de cardinalidade incorrecto. Por exemplo, quando executa a consulta, o número real de linhas é superior a 2000. No entanto, o número estimado de linhas é 1. Este problema ocorre quando se verificam as seguintes condições:
  • A consulta contém pelo menos uma cláusula JOIN.
  • Existem várias colunas na cláusula WHERE.
  • O optimizador do SQL Server utiliza o operador de associação de meia anti para associar dados.

Resolução

Informações da atualização cumulativa

SQL Server 2005 Service Pack 3

A correcção para este problema foi publicada pela primeira vez na actualização cumulativa 11 para o SQL Server 2005 Service Pack 3. Para mais informações sobre este pacote de actualização cumulativa, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
2258854  (http://support.microsoft.com/kb/2258854/LN/ ) Pacote de actualização cumulativa 11 para SQL Server 2005 Service Pack 3
NotaUma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2005 anteriores corrigir lançamento. A Microsoft recomenda que considerem a aplicação a mais recente versão de correcção que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
960598  (http://support.microsoft.com/kb/960598/LN/ ) O SQL Server 2005 cria disponibilizadas após o lançamento do SQL Server 2005 Service Pack 3
Correcções do Microsoft SQL Server 2005 são criadas para service packs específicos do SQL Server. Tem de aplicar uma correcção de SQL Server 2005 Service Pack 3 para uma instalação do SQL Server 2005 Service Pack 3. Por predefinição, qualquer correcção fornecida num service pack do SQL Server está incluída no próximo service pack do SQL Server.

SQL Server 2008 Service Pack 1

A correcção para este problema foi publicada pela primeira vez na actualização cumulativa 9 para o SQL Server 2008 Service Pack 1. Para mais informações sobre este pacote de actualização cumulativa, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
2083921  (http://support.microsoft.com/kb/2083921/LN/ ) actualização cumulativa 9 para o SQL Server 2008 Service Pack 1
NotaUma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento. A Microsoft recomenda que considerem a aplicação a mais recente versão de correcção que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
970365  (http://support.microsoft.com/kb/970365/LN/ ) O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 correcções são criadas para service packs específicos do SQL Server. Tem de aplicar um hotfix do SQL Server 2008 Service Pack 1 para uma instalação do SQL Server 2008 Service Pack 1. Por predefinição, qualquer correcção fornecida num service pack do SQL Server está incluída no próximo service pack do SQL Server.

SQL Server 2008 R2

A correcção para este problema primeiro foi disponibilizada em 4 de actualização cumulativa. Para mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008 R2, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
2345451  (http://support.microsoft.com/kb/2345451/ ) Pacote de actualização cumulativa 4 do SQL Server 2008 R2
NotaUma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2008 R2 anteriores corrigir lançamento. Recomendamos que considerem a aplicação a mais recente versão de correcção que contenha esta correcção. Para mais informações, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
981356  (http://support.microsoft.com/kb/981356/ ) O SQL Server 2008 R2 cria disponibilizadas após o lançamento do SQL Server 2008 R2

Ponto Da Situação

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

Mais Informação

Pode ver as linhas de estimativa para a consulta, observando oEstimateRowscoluna da produção SHOWPLAN_ALL ou da saída STATISTICS perfil.

Para mais informações sobre o operador Anti Semi aderir, visite os seguintes Web sites da MSDN (Microsoft Developer Network):
Direito anti semi aderir Showplan operador (http://msdn.microsoft.com/en-us/library/ms177472(sql.100).aspx)
Esquerda anti semi associação Showplan operador (http://msdn.microsoft.com/en-us/library/ms191171(sql.100).aspx)
Para mais informações sobre o modelo de assistência incremental para o SQL Server, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
935897  (http://support.microsoft.com/kb/935897/ ) Um modelo de assistência incremental está disponível a partir da equipa do SQL Server para proporcionar correcções para problemas comunicados
Para mais informações sobre o esquema de atribuição de nomes para as actualizações do SQL Server, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
822499  (http://support.microsoft.com/kb/822499/ ) Nova esquema de atribuição de nomes para pacotes de actualização de software do Microsoft SQL Server

Para mais informações sobre a terminologia de actualizações de software, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/ ) Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 R2 Enterprise
Palavras-chave: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbtshoot kbmt KB2222998 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: 2222998  (http://support.microsoft.com/kb/2222998/en-us/ )