CORRECÇÃO: SQL Server Optimizer pode subestimar a cardinalidade de consultas de intervalo

Traduções deste artigo Traduções deste artigo
ID do artigo: 816883 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Erro nº: 364245 (SQL Server 8.0)
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

O otimizador do SQL Server pode não estimar a cardinalidade de uma expressão corretamente se todas as condições seguintes forem verdadeiras:
  • A consulta especifica duas condições de intervalo diferente, como coluna entre x e y ou coluna > x.
  • Os predicados intervalo são qualificados com um e condição.
  • Um histograma está disponível para cada uma das duas colunas, do manual ou automática criar estatísticas ou de um índice que especifica a coluna como sua coluna à esquerda.
  • Densidade de várias colunas está disponível para a combinação das duas colunas.
A consulta a seguir é um exemplo de uma consulta que pode ser afetado por esse problema:
SELECT *
FROM    a  
WHERE	 a.[SALESORG] BETWEEN 'B001' AND 'B099'  AND     
	 a.[SOLD_TO] BETWEEN 'B000000001' AND 'B000010000' 
neste exemplo, histogramas devem existir para SALESORG e SOLD_TO e estatísticas devem existir para a combinação de SALESORG e SOLD_TO .

Devido a esse bug, o otimizador do SQL Server normalmente underestimates o número de linhas de como um predicado. O otimizador do SQL Server pode selecionar um plano que não é eficiente, como, por exemplo, usando um índice de busca quando uma verificação de índice é mais apropriada, usando uma ordem de associação incorreta, ou deixar de usar uma correspondência indexed view.

Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft SQL Server 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211Como obter o SQL Server 2000 service pack mais recente

Informações sobre o hotfix

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos são listadas na acordo hora universal coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
Date         Time   Version            Size    File name
--------------------------------------------------------------
27-Mar-2003  02:47  2.4.1.0        11,172,351  Sql2000-kb810185-8.00.0794-enu.exe
Observação Devido às dependências do arquivo, o hotfix mais recente ou o recurso que contém esses arquivos também pode conter arquivos adicionais.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".Esse problema foi corrigido primeiro no Microsoft SQL Server 2000 Service Pack 4.

Mais Informações

Esta correção é habilitada apenas quando você usar o sinalizador de rastreamento 9256. Para obter mais informações sobre como usar sinalizadores de rastreamento, consulte nos manuais online do SQL Server 2000.

Propriedades

ID do artigo: 816883 - Última revisão: quinta-feira, 27 de fevereiro de 2014 - Revisão: 10.3
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB816883 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: 816883

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