CORRECÇÃO: Consulta que efectua as operações de associação entre várias tabelas poderá devolver resultados incorrectos

Traduções de Artigos Traduções de Artigos
Artigo: 817186 - Ver produtos para os quais este artigo se aplica.
N.º DE BUGS: 364392

(SQL Server 8.0)
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando executa uma consulta que efectua as operações de associação entre várias tabelas, a consulta poderá devolver resultados incorrectos. Poderá ver este comportamento quando o Optimizador de consultas do SQL Server reconhece a consulta como um candidato para uma estratégia de associação interna conhecido como uma estrela associação e que escolhe a estratégia de associação estrela para executar a associação nas tabelas na consulta.

Como contornar

Para contornar este problema, crie uma tabela temporária para armazenar os resultados intermédias ou para armazenar as agregações complexas que se baseiam em várias associações na tabela grande. Em seguida, associar as tabelas com a tabela temporária. Isto poderá impedir que o Optimizador de consultas do SQL Server utilizando a estratégia de associação estrela para juntar as tabelas na consulta. Isto, por sua vez, poderá causar a consulta devolver os resultados correctos.

Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente do Microsoft SQL Server 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211Como obter o SQL Server 2000 service pack mais recente

Informações sobre a correcção

A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date         Time   Version         Size       File name
   ----------------------------------------------------------------------
   29-Jan-2003  11:48  7.0.9466.0        344,064  Msvcr70.dll      
   29-Jan-2003  11:48  2000.80.722.0      57,904  Osql.exe         
   29-Jan-2003  11:48  2000.80.534.0     127,548  Sqdedev.dll      
   29-Jan-2003  11:48  2000.80.194.0     180,290  Sqlunirl.dll     
   25-Feb-2003  14:11  2000.80.777.0      29,244  Dbmslpcn.dll     
   07-Feb-2003  16:14                    786,432  Distmdl.ldf
   07-Feb-2003  16:14                  2,359,296  Distmdl.mdf
   29-Jan-2003  12:25                        180  Drop_repl_hotfix.sql
   31-Jan-2003  11:02  2000.80.763.0   1,557,052  Dtsui.dll        
   29-Jan-2003  15:48                    746,470  Instdist.sql
   29-Jan-2003  12:25                      1,402  Inst_repl_hotfix.sql
   07-Feb-2003  17:10  2000.80.765.0      90,692  Msgprox.dll      
   07-Feb-2003  14:23                  1,065,895  Replmerg.sql
   07-Feb-2003  17:10  2000.80.765.0     221,768  Replprov.dll     
   07-Feb-2003  17:10  2000.80.765.0     307,784  Replrec.dll      
   06-Mar-2003  15:32                  1,084,369  Replsys.sql
   03-Mar-2003  03:48                    104,958  Sp3_serv_uni.sql
   19-Mar-2003  04:50  2000.80.789.0      28,672  Sqlevn70.rll
   27-Feb-2003  12:04  2000.80.778.0     176,696  Sqlmap70.dll     
   07-Feb-2003  17:10  2000.80.765.0      57,920  Sqlrepss.dll     
   19-Mar-2003  04:54  2000.80.789.0   7,540,820  Sqlservr.exe     
   07-Feb-2003  17:10  2000.80.765.0      45,644  Sqlvdi.dll       
   25-Feb-2003  14:11  2000.80.777.0      29,244  Ssmslpcn.dll     
   25-Feb-2003  14:11  2000.80.777.0      82,492  Ssnetlib.dll     
   17-Mar-2003  01:19                    727,132  Sysmessages.sym
   27-Feb-2003  12:04  2000.80.778.0      98,872  Xpweb70.dll      
				
Nota devido de dependências de ficheiros, a correcção mais recente ou funcionalidade que contém os ficheiros também poderão conter ficheiros adicionais.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a" deste artigo.Este problema foi corrigido pela primeira vez no Microsoft SQL Server 2000 Service Pack 4.

Mais Informação

Este problema não ocorre com todas as consultas que efectuam associações entre várias tabelas. Optimizador de consultas do SQL Server escolhe a estratégia de associação depois que analisa os índices e as referências para as tabelas associadas na consulta. O escolhe de optimização de consulta do SQL Server uma estrela aderir estratégia apenas se a associação estrela é considerada a estratégia de associação mais ideal. Por conseguinte, este problema não ocorrerá com a maior parte das consultas que envolvam associações entre várias tabelas, porque uma estrela associação não é uma estratégia comuns para o Optimizador de consultas do SQL Server utilizar.

No entanto, o plano de execução de uma consulta não fornece quaisquer informações sobre se o Optimizador de consultas do SQL Server escolher a estratégia de associação estrela para associar as tabelas na consulta.

Propriedades

Artigo: 817186 - Última revisão: 2 de novembro de 2007 - Revisão: 4.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: 
kbmt kbhotfixserver kbqfe kbqfe kbtsql kbtable kbquery kbschema kbdatabase kbsqlserv2000presp4fix kbfix kbbug KB817186 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 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: 817186

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