CORRECÇÃO: Quando executar uma consulta complexa no SQL Server 2005, o consulta desempenho for lento se o plano de execução da consulta contiver meia associação operadores

Traduções de Artigos Traduções de Artigos
Artigo: 940128 - Ver produtos para os quais este artigo se aplica.
N.º de bugs: 50001440 (correcção SQL)
Importante
A Microsoft distribui correcções Microsoft SQL Server 2005 como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova versão contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2005 anterior corrigir lançamento.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve o seguinte sobre esta versão de correcção:
  • Problemas corrigidos pelo pacote de correcção
  • Pré-requisitos para instalar o pacote de correcções
  • Se tem de reiniciar o computador depois de instalar o pacote de correcção
  • Se o pacote de correcções é substituído por qualquer outro pacote de correcção
  • Se terá de efectuar quaisquer alterações de registo
  • Ficheiros contidos no pacote de correcção

Sintomas

Tem uma consulta complexa no Microsoft SQL Server 2005. O plano de execução da consulta contém operadores meia associação . Quando executa a consulta, o desempenho de consulta da consulta é lento quando comparado com Microsoft SQL Server 2000.

Nota Normalmente, operadores de associação de meia são gerados quando a consulta contém a palavra-chave IN ou a palavra-chave EXISTS .

Causa

Este problema ocorre porque o Optimizador de consultas gera muitas mais planos de execução do SQL Server 2000. Por conseguinte, o Optimizador de consultas pode exceder o tempo limite. Quando isto ocorrer, o Optimizador de consultas pára de procurar planos em execução antes do Optimizador de consultas procura totalmente possível todos os planos de execução.

Para determinar se o Optimizador de consultas ultrapassou o tempo limite, procure o StatementOptmEarlyAbortReason = "Tempo de espera" expressão a saída XML do plano de execução Showplan.

Resolução

Informações sobre a correcção

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentado, contacte o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

  • SQL Server 2005 Service Pack 2

    Para obter mais informações sobre como obter o SQL Server 2005 Service Pack 2, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
    913089Como obter o service pack mais recente para o SQL Server 2005

Informações sobre reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não é substituída por qualquer correcção.

Informações de registo

Não é necessário alterar o registo.

Informações do ficheiro

Esta correcção contém apenas os ficheiros necessários para corrigir os problemas referidos neste artigo. Esta correcção poderá não conter todos os ficheiros que necessita para actualizar completamente um produto para a compilação mais recente.

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na 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 no item data e hora no painel de controlo.
SQL Server 2005, versão de 32 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Chsbrkr.dll12.0.7822.01,684,84022-Jun-200709: 22x 86
Chtbrkr.dll12.0.7822.06,112,61622-Jun-200709: 22x 86
Databasemailprotocols.dll9.0.3182.046,44810-Jul-200704: 56x 86
Fteref.dll12.0.7822.0446,46422-Jun-200709: 22x 86
Infosoft.dll12.0.7822.0468,32822-Jun-200709: 22x 86
Korwbrkr.dll12.0.7822.071,01622-Jun-200709: 22x 86
Langwrbk.dll12.0.7822.0136,55222-Jun-200709: 22x 86
Microsoft.analysisservices.dll9.0.3182.01,217,90410-Jul-200704: 56x 86
Microsoft.SQLServer.maintenanceplantasks.dll9.0.3182.0296,30410-Jul-200704: 56x 86
Msfte.dll12.0.7822.02,430,31222-Jun-200709: 22x 86
Msftefd.exe12.0.7822.066,92022-Jun-200709: 22x 86
Msftepxy.dll12.0.7822.095,59222-Jun-200709: 22x 86
Msftesql.exe12.0.7822.095,59222-Jun-200709: 22x 86
Msir5jp.dll5.0.2130.03,159,91222-Jun-200709: 22x 86
Msmdlocal.dll9.0.3182.015,948,14410-Jul-200704: 56x 86
Mssqlsystemresource.ldfNão aplicável524,28810-Jul-200701: 45Não aplicável
Mssqlsystemresource.mdfNão aplicável40,108,03210-Jul-200701: 45Não aplicável
Nlhtml.dll12.0.7822.0124,26422-Jun-200709: 22x 86
Nls400.dll5.0.4217.012,240,74422-Jun-200709: 22x 86
Odsole70.dll2005.90.3182.059,24810-Jul-200704: 56x 86
Query.dll12.0.7822.048,48822-Jun-200709: 22x 86
Rdistcom.dll2005.90.3182.0644,97610-Jul-200704: 56x 86
Replmerg.exe2005.90.3182.0320,88010-Jul-200704: 56x 86
Replrec.dll2005.90.3182.0784,75210-Jul-200704: 56x 86
Sqlaccess.dll2005.90.3182.0350,57610-Jul-200704: 56x 86
Sqlagent90.exe2005.90.3182.0349,55210-Jul-200704: 56x 86
Sqlservr.exe2005.90.3182.029,195,12010-Jul-200704: 56x 86
Sqlwep.dll2005.90.3182.090,99210-Jul-200704: 56x 86
Sqsrvres.dll2005.90.3182.070,51210-Jul-200704: 56x 86
Sysdbupg.SQLNão aplicável510,62213-Jun-200701: 18Não aplicável
Thawbrkr.dll12.0.7822.0206,18422-Jun-200709: 22x 86
Xmlfilt.dll12.0.7822.0197,99222-Jun-200709: 22x 86
Xpstar90.dll2005.90.3182.0298,86410-Jul-200704: 56x 86
SQL Server 2005, versão de 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Chsbrkr.dll12.0.7822.01,694,05622-Jun-200710: 51x 64
Chtbrkr.dll12.0.7822.06,109,03222-Jun-200710: 51x 64
Databasemailprotocols.dll9.0.3182.046,44810-Jul-200707: 51x 86
Fteref.dll12.0.7822.0433,15222-Jun-200710: 51x 64
Infosoft.dll12.0.7822.0621,41622-Jun-200710: 51x 64
Korwbrkr.dll12.0.7822.0101,73622-Jun-200710: 51x 64
Langwrbk.dll12.0.7822.0236,90422-Jun-200710: 51x 64
Microsoft.analysisservices.dll9.0.3182.01,217,90410-Jul-200704: 56x 86
Microsoft.SQLServer.maintenanceplantasks.dll9.0.3182.0296,30410-Jul-200704: 56x 86
Msfte.dll12.0.7822.03,808,10422-Jun-200710: 51x 64
Msftefd.exe12.0.7822.099,17622-Jun-200710: 51x 64
Msftepxy.dll12.0.7822.0127,33622-Jun-200710: 51x 64
Msftesql.exe12.0.7822.0158,56822-Jun-200710: 51x 64
Msir5jp.dll5.0.2130.03,421,54422-Jun-200710: 51x 64
Msmdlocal.dll9.0.3182.015,948,14410-Jul-200704: 56x 86
Mssqlsystemresource.ldfNão aplicável524,28810-Jul-200701: 45Não aplicável
Mssqlsystemresource.mdfNão aplicável40,108,03210-Jul-200701: 45Não aplicável
Nlhtml.dll12.0.7822.0191,84822-Jun-200710: 51x 64
Nls400.dll5.0.4217.014,101,35222-Jun-200710: 51x 64
Odsole70.dll2005.90.3182.090,48010-Jul-200707: 51x 64
Query.dll12.0.7822.068,45622-Jun-200710: 51x 64
Rdistcom.dll2005.90.3182.0828,78410-Jul-200707: 51x 64
Replmerg.exe2005.90.3182.0417,64810-Jul-200707: 51x 64
Replrec.dll2005.90.3182.01,011,56810-Jul-200707: 51x 64
Sqlaccess.dll2005.90.3182.0357,74410-Jul-200707: 51x 86
Sqlagent90.exe2005.90.3182.0429,42410-Jul-200707: 51x 64
Sqlservr.exe2005.90.3182.039,679,34410-Jul-200707: 51x 64
Sqlwep.dll2005.90.3182.0123,76010-Jul-200707: 51x 64
Sqlwep.dll2005.90.3182.090,99210-Jul-200704: 56x 86
Sqsrvres.dll2005.90.3182.083,31210-Jul-200707: 51x 64
Sysdbupg.SQLNão aplicável510,62213-Jun-200701: 18Não aplicável
Thawbrkr.dll12.0.7822.0209,76822-Jun-200710: 51x 64
Xmlfilt.dll12.0.7822.0271,20822-Jun-200710: 51x 64
Xpstar90.dll2005.90.3182.0550,25610-Jul-200707: 51x 64
SQL Server 2005, versão da arquitectura Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Chsbrkr.dll12.0.7822.01,883,49622-Jun-200710: 06IA-64
Chtbrkr.dll12.0.7822.06,153,57622-Jun-200710: 06IA-64
Databasemailprotocols.dll9.0.3182.046,44810-Jul-200713: 01x 86
Fteref.dll12.0.7822.0433,15222-Jun-200710: 06IA-64
Infosoft.dll12.0.7822.01,915,24022-Jun-200710: 06IA-64
Korwbrkr.dll12.0.7822.0182,63222-Jun-200710: 06IA-64
Langwrbk.dll12.0.7822.0333,16022-Jun-200710: 06IA-64
Microsoft.analysisservices.dll9.0.3182.01,217,90410-Jul-200704: 56x 86
Microsoft.SQLServer.maintenanceplantasks.dll9.0.3182.0296,30410-Jul-200704: 56x 86
Msfte.dll12.0.7822.07,072,10422-Jun-200710: 06IA-64
Msftefd.exe12.0.7822.0173,41622-Jun-200710: 06IA-64
Msftepxy.dll12.0.7822.0135,52822-Jun-200710: 06IA-64
Msftesql.exe12.0.7822.0294,76022-Jun-200710: 06IA-64
Msir5jp.dll5.0.2130.03,824,48822-Jun-200710: 06IA-64
Msmdlocal.dll9.0.3182.049,907,05610-Jul-200713: 01IA-64
Mssqlsystemresource.ldfNão aplicável524,28810-Jul-200701: 45Não aplicável
Mssqlsystemresource.mdfNão aplicável40,108,03210-Jul-200701: 45Não aplicável
Nlhtml.dll12.0.7822.0295,78422-Jun-200710: 06IA-64
Nls400.dll5.0.4217.014,750,05622-Jun-200710: 06IA-64
Odsole70.dll2005.90.3182.0179,56810-Jul-200713: 01IA-64
Query.dll12.0.7822.0123,24022-Jun-200710: 06IA-64
Rdistcom.dll2005.90.3182.01,885,55210-Jul-200713: 01IA-64
Replmerg.exe2005.90.3182.0957,29610-Jul-200713: 01IA-64
Replrec.dll2005.90.3182.02,145,13610-Jul-200713: 01IA-64
Sqlaccess.dll2005.90.3182.0352,11210-Jul-200713: 01x 86
Sqlagent90.exe2005.90.3182.01,254,25610-Jul-200713: 01IA-64
Sqlservr.exe2005.90.3182.072,819,56810-Jul-200713: 01IA-64
Sqlwep.dll2005.90.3182.0221,04010-Jul-200713: 01IA-64
Sqlwep.dll2005.90.3182.090,99210-Jul-200704: 56x 86
Sqsrvres.dll2005.90.3182.0147,31210-Jul-200713: 01IA-64
Sysdbupg.SQLNão aplicável510,62213-Jun-200701: 18Não aplicável
Thawbrkr.dll12.0.7822.0253,28822-Jun-200710: 06IA-64
Xmlfilt.dll12.0.7822.0445,80022-Jun-200710: 06IA-64
Xpstar90.dll2005.90.3182.0966,00010-Jul-200713: 01IA-64

Como contornar

Para contornar este problema, evite utilizar a palavra-chave IN ou a palavra-chave EXISTS.

Ponto Da Situação

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

Mais Informação

Depois de aplicar esta correcção, tem de activar o sinalizador de rastreamento 4102 e o sinalizador de rastreamento 4118 para que o comportamento reverte para o comportamento no SQL Server 2000. No entanto, recomendamos que utilize o método descrito na secção "Como contornar" antes de aplicar esta correcção.

Tem de utilizar estes sinalizadores de rastreio para uma ligação no servidor ou para todas as ligações no servidor. Se definir os sinalizadores de rastreio no arranque, os sinalizadores de rastreio afectam todas as ligações no servidor.

Para obter mais informações sobre como definir sinalizadores de rastreio, consulte os seguintes tópicos no SQL Server 2005 Books Online:
  • DBCC TRACEON Transact-SQL)
  • Rastreio sinalizadores (Transact-SQL)
  • DBCC TRACESTATUS Transact-SQL)
  • As últimas alterações funcionalidades de motor de base de dados do SQL Server 2005
Para obter mais informações sobre o esquema de atribuição de nomes para as actualizações do SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
822499Novo esquema de atribuição de nomes de ficheiros para pacotes de actualização de software do Microsoft SQL Server

Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 940128 - Última revisão: 21 de novembro de 2007 - Revisão: 2.4
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 Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Palavras-chave: 
kbmt kbautohotfix kbsql2005engine kbexpertiseadvanced kbfix kbpubtypekc kbqfe kbhotfixserver KB940128 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: 940128

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