CORREÇÃO: Consulta de nome de quatro partes que contém uma cláusula WHERE pode executar lentamente em um servidor vinculado do SQL Server que usa o provedor OLE DB para DB2 para se conectar a um sistema DB2

Traduções deste artigo Traduções deste artigo
ID do artigo: 2464256 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Este artigo também se aplica ao seguinte produto:
  • Microsoft OLE DB Provider para DB2 3. 0

Sintomas

Considere o seguinte cenário:
  • Instalar o Microsoft OLE DB Provider para DB2 em um computador.
  • Você tem um servidor vinculado do SQL Server que usa o provedor OLE DB para DB2 para se conectar a uma instância de um sistema IBM DB2.
  • Você pode executar uma consulta no servidor SQL Server vinculado. A consulta usa uma sintaxe de nome de quatro partes e umONDEcláusula para consultar uma exibição complexa de DB2 em bancos de dados IBM DB2.
Nesse cenário, a consulta pode ser executado lentamente.

ObservaçãoEsse problema pode ocorrer também quando a consulta não é usada para consultar os modos de exibição do DB2.

Causa

Esse problema ocorre porque o provedor OLE DB para DB2 não usa umONDEcláusula em umSELECIONE * DE< ?="">consulta.

Quando o provedor tenta obter as informações de esquema, o provedor envia umSELECIONE * DE< ?="">instrução. O processador de consulta distribuído (DQP) fornece umaOpenRowsetLigue para o provedor OLE DB para DB2 obter as informações de esquema para a consulta de nome de quatro partes. OOpenRowsetchamar usa oDBPROP_MAXROWSpropriedade. Você pode definir um valor diferente de zero para oDBPROP_MAXROWSpropriedade para limitar o número de linhas que são retornados na consulta. No entanto, o provedor OLE DB para DB2 ignora oDBPROP_MAXROWSpropriedade e oONDEcláusula é removida oSELECIONE * DE< ?="">instrução antes de ser enviado ao banco de dados IBM DB2. Portanto, DB2 pode ser lento para retornar os resultados da consulta, se aSELECIONE * DE< ?=""> consulta é complexa.

Resolução

Um hotfix atualmente não está disponível para o Microsoft OLE DB Provider for DB2 2. 0.

Informações sobre o hotfix

Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, esse hotfix destina-se apenas a corrigir o problema descrito neste artigo. Aplica este hotfix somente aos sistemas que apresentarem o problema descrito neste artigo. Este hotfix pode receber testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde a próxima atualização de software que contém esse hotfix.

Se o hotfix está disponível para download, há uma seção "Download de Hotfix disponível" na parte superior deste artigo do Knowledge Base. Se não aparecer nesta seção, entre em contato com o suporte e atendimento ao cliente da Microsoft para obter o hotfix.

ObservaçãoSe ocorrerem problemas adicionais ou qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço. Os custos normais de suporte serão aplicados a questões de suporte adicional e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa dos números de telefone de suporte e atendimento ao cliente da Microsoft ou para criar uma solicitação de serviço, visite o seguinte site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
ObservaçãoO formulário "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.

Pré-requisitos

  • Para aplicar o hotfix para o Microsoft OLE DB Provider para DB2 1. 0, você deve ter o provedor OLE DB para DB2 1. 0 Service Pack 1 (SP1) instalado.
  • Para aplicar o hotfix para o Microsoft OLE DB Provider para DB2 3. 0, você deve ter o provedor OLE DB para DB2 3. 0 instalado.
  • Para aplicar o hotfix do Microsoft Host Integration Server 2009, você deve ter o Host Integration Server 2009 instalado.
  • Para aplicar o hotfix do Microsoft Host Integration Server 2010, você deve ter o Host Integration Server 2010 instalado.

Anotações

Requisito de reinicialização

Não é necessário reiniciar o computador após aplicar esse hotfix.

Informações de substituição do hotfix

Esse hotfix não substitui nenhum outro hotfix.

Informações sobre o arquivo

A versão em inglês deste hotfix apresenta os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horários destes arquivos estão listados no tempo Universal Coordenado (UTC). Quando você exibe as informações do arquivo, ele será convertido para a hora local. Para saber a diferença entre o UTC e a hora local, use oFuso horárioGuia deData e horaitem no painel de controle.
Para todas as versões baseadas em x86 do OLE DB Provider para DB2 1. 0
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataformaRequisito de SP
Db2oledb.dll7.0.3068.0520,01630-Nov-201022: 46x86SP2
Microsoft.hostintegration.dataaccesslibrary.dll7.0.3068.02,553,75230-Nov-201022: 46x86SP2
Microsoft.hostintegration.dataaccesstool.exe7.0.3068.0616,33630-Nov-201022: 46x86SP2
Mseidrda.dll7.0.3068.0805,20030-Nov-201022: 46x86SP2
Snanls.dll7.0.3068.0104,27230-Nov-201022: 46x86SP2
Trnsbidi.dll7.0.3068.059,72830-Nov-201022: 46x86SP2
Para todas as versões baseadas em x64 do OLE DB Provider para DB2 1. 0
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataformaRequisito de SPRamificação do serviço
Db2oledb.dll7.0.3068.0765,26418-Dez-201000: 26.x64SP2Não aplicável
Microsoft.hostintegration.dataaccesslibrary.dll7.0.3068.02,549,65618-Dez-201000: 26.x64SP2Não aplicável
Microsoft.hostintegration.dataaccesstool.exe7.0.3068.0612,24018-Dez-201000: 26.x64SP2Não aplicável
Mseidrda.dll7.0.3068.01,404,24018-Dez-201000: 25.x64SP2Não aplicável
Snanls.dll7.0.3068.0127,82418-Dez-201000: 26.x64SP2Não aplicável
Trnsbidi.dll7.0.3068.067,92018-Dez-201000: 26.x64SP2Não aplicável
Db2oledb.dll7.0.3068.0520,01618-Dez-201000: 26.x86NenhumSYSWOW
Mseidrda.dll7.0.3068.0805,20018-Dez-201000: 25.x86NenhumSYSWOW
Snanls.dll7.0.3068.0104,27218-Dez-201000: 25.x86NenhumSYSWOW
Trnsbidi.dll7.0.3068.059,72818-Dez-201000: 26.x86NenhumSYSWOW
Para todas as versões baseadas em x86 do OLE DB Provider para DB2 3. 0
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Db2oledb.dll8.0.4308.0628,56013-Jan-201122: 30.x86
Microsoft.hostintegration.dataaccesslibrary.dll8.0.4308.0788,37613-Jan-201122: 30.x86
Msdrda.dll8.0.4308.0898,89613-Jan-201122: 30.x86
Para todas as versões baseadas em x64 do OLE DB Provider para DB2 3. 0
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataformaRamificação do serviço
Db2oledb.dll8.0.4308.0880,97613-Jan-201122: 52x64Não aplicável
Microsoft.hostintegration.dataaccesslibrary.dll8.0.4308.0788,37613-Jan-201122: 52x86Não aplicável
Msdrda.dll8.0.4308.01,548,62413-Jan-201122: 52x64Não aplicável
Db2oledb.dll8.0.4308.0628,56013-Jan-201122: 30.x86SYSWOW
Msdrda.dll8.0.4308.0898,89613-Jan-201122: 30.x86SYSWOW
Para todas as versões baseadas em IA-64 do OLE DB Provider com para DB2 3. 0
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataformaRamificação do serviço
Db2oledb.dll8.0.4308.01,721,16813-Jan-201123: 11.IA-64Não aplicável
Microsoft.hostintegration.dataaccesslibrary.dll8.0.4308.0788,37613-Jan-201123: 11.x86Não aplicável
Msdrda.dll8.0.4308.02,429,77613-Jan-201123: 11.IA-64Não aplicável
Db2oledb.dll8.0.4308.0628,56013-Jan-201122: 30.x86SYSWOW
Msdrda.dll8.0.4308.0898,89613-Jan-201122: 30.x86SYSWOW
Para todas as versões baseadas em x86 do Host Integration Server 2009
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Db2oledb.dll8.0.3791.2540,49617-Dez-201003: 05.x86
Drdaresync.exe8.0.3791.2478,04017-Dez-201003: 05.x86
Microsoft.hostintegration.Adapters.msdb2.Management.dll8.0.3791.2407,47217-Dez-201003: 05.x86
Microsoft.hostintegration.Adapters.msdb2.Runtime.dll8.0.3791.279,78417-Dez-201003: 05.x86
Microsoft.hostintegration.dataaccesslibrary.dll8.0.3791.21,279,89617-Dez-201003: 05.x86
Microsoft.hostintegration.msdb2client.dll8.0.3791.2239,50417-Dez-201003: 05.x86
Msdrda.dll8.0.3791.2882,00017-Dez-201003: 05.x86
Snanls.dll8.0.3791.2109,39217-Dez-201003: 05.x86
Para todas as versões baseadas em x64 do Host Integration Server 2009
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataformaRamificação do serviço
Db2oledb.dll8.0.3791.2763,72817-Dez-201010: 03x64Não aplicável
Drdaresync.exe8.0.3791.2675,16017-Dez-201010: 03x64Não aplicável
Microsoft.hostintegration.Adapters.msdb2.Management.dll8.0.3791.2407,47217-Dez-201010: 03x86Não aplicável
Microsoft.hostintegration.Adapters.msdb2.Runtime.dll8.0.3791.279,78417-Dez-201010: 03x86Não aplicável
Microsoft.hostintegration.dataaccesslibrary.dll8.0.3791.21,279,89617-Dez-201010: 03x86Não aplicável
Microsoft.hostintegration.msdb2client.dll8.0.3791.2239,50417-Dez-201010: 03x86Não aplicável
Msdrda.dll8.0.3791.21,527,63217-Dez-201010: 03x64Não aplicável
Snanls.dll8.0.3791.2128,33617-Dez-201010: 03x64Não aplicável
Db2oledb.dll8.0.3791.2540,49617-Dez-201003: 05.x86SYSWOW
Msdrda.dll8.0.3791.2882,00017-Dez-201003: 05.x86SYSWOW
Snanls.dll8.0.3791.2109,39217-Dez-201003: 05.x86SYSWOW
Para todas as versões baseadas em x86 do Host Integration Server 2010
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataTempoPlataforma
Db2oledb.dll8.5.4257.2640,84817-Dez-201022: 58x86
Drdaresync.exe8.5.4257.2530,26417-Dez-201022: 58x86
Microsoft.hostintegration.dataaccesslibrary.dll8.5.4257.21,300,37617-Dez-201022: 58x86
Microsoft.hostintegration.drdalink.dll8.5.4257.258,76017-Dez-201022: 58x86
Msdrda.dll8.5.4257.2976,72017-Dez-201022: 58x86
Para todas as versões baseadas em x64 do Host Integration Server 2010
Recolher esta tabelaExpandir esta tabela
Db2oledb.dll8.5.4257.2898,38417-Dez-201023: 04.x64
Drdaresync.exe8.5.4257.2717,65617-Dez-201023: 04.x64
Microsoft.hostintegration.dataaccesslibrary.dll8.5.4257.21,300,37617-Dez-201023: 04.x86
Microsoft.hostintegration.drdalink.dll8.5.4257.26900017-Dez-201023: 04.x64
Msdrda.dll8.5.4257.21,693,52017-Dez-201023: 04.x64
ObservaçãoPor causa das dependências do arquivo, a correção mais recente para o Host Integration Server 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".

Como Contornar

Para contornar esse problema, use umABRIRCONSULTAfunção em vez do nome de quatro partes na consulta.

Por exemplo, a consulta será executada lentamente quando você executa uma consulta semelhante à seguinte.

SELECT * FROM LINKED_SERVER.CATALOG1.SCHEMA1.DB2_VIEW WHERE COLUMN1 = '12345'
Esta consulta é executada mais rapidamente quando ele usa oABRIRCONSULTAfunção e semelhante à seguinte:
SELECT * FROM OPENQUERY(LINKED_SERVER, ?SELECT * FROM SCHEMA1.DB2_VIEW  WHERE COLUMN1 = '12345'?) 

Mais Informações

Depois de aplicar esta atualização, o provedor OLE DB para DB2 envia uma consulta semelhante a seguir se oOpenRowsetchamada inclui um valor diferente de zero paraDBPROP_MAXROWS:
SELECT * FROM tablename  FETCH FIRST nRows ROWS ONLY

Se oDBPROP_MAXROWSpropriedade estiver definida como0OLE DB Provider para DB2 envia a consulta a seguir para obter as informações de esquema, e essa consulta pode ser executado lentamente:

SELECT * FROM tablename

Propriedades

ID do artigo: 2464256 - Última revisão: segunda-feira, 28 de fevereiro de 2011 - Revisão: 1.0
A informação contida neste artigo aplica-se a:
  • Microsoft OLE DB Provider for DB2 1.0
  • Microsoft OLE DB Provider for DB2 2.0
  • Microsoft Host Integration Server 2009
  • Microsoft Host Integration Server 2010
Palavras-chave: 
kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2464256 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: 2464256

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