REVISIÓN: Consulta de nombre de cuatro partes que contiene una cláusula WHERE puede funcionar despacio en un servidor vinculado de SQL Server que utiliza el proveedor OLE DB para DB2 para conectarse a un sistema de DB2

Seleccione idioma Seleccione idioma
Id. de artículo: 2464256 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

En este artículo también se aplica a los siguientes productos:
  • El proveedor Microsoft OLE DB para DB2 3.0

Síntomas

Considere el siguiente escenario:
  • Instalar el proveedor Microsoft OLE DB para DB2 en un equipo.
  • Dispone de un servidor vinculado de Microsoft SQL Server que utiliza el proveedor OLE DB para DB2 para conectarse a una instancia de un sistema de IBM DB2.
  • Ejecutar una consulta en el servidor vinculado de SQL Server. La consulta utiliza una sintaxis de nombre de cuatro partes y unDONDEcláusula para consultar una vista de DB2 compleja en bases de datos de IBM DB2.
En este escenario, la consulta puede ser lento.

NotaEste problema puede producirse también cuando la consulta no se utiliza para consultar vistas de DB2.

Causa

Este problema se produce porque no se utiliza el proveedor OLE DB para DB2 unDONDEcláusula en unaSELECCIONAR * DESDE< ?="">consulta.

Cuando el proveedor intenta obtener la información de esquema, el proveedor envía unaSELECCIONAR * DESDE< ?="">instrucción. El procesador de consultas distribuidas (DQP) proporciona unOpenRowsetLlame al proveedor OLE DB para DB2 obtener la información de esquema para la consulta de nombre de cuatro partes. ElOpenRowsetusos de llamar a laDBPROP_MAXROWSpropiedad. Puede establecer un valor distinto de cero para elDBPROP_MAXROWSpropiedad para limitar el número de filas devueltas en la consulta. Sin embargo, el proveedor OLE DB para DB2 pasa por alto laDBPROP_MAXROWSpropiedad y elDONDEcláusula se quita de laSELECCIONAR * DESDE< ?="">instrucción antes de enviarlo a la base de datos de IBM DB2. Por lo tanto, DB2 pueden ser lentos devolver los resultados de la consulta si laSELECCIONAR * DESDE< ?=""> consulta es compleja.

Solución

Una revisión no está disponible para el proveedor Microsoft OLE DB para DB2 2.0.

Información de la revisión

Hay un hotfix compatible de Microsoft. Sin embargo, esta revisión se diseñó para corregir el problema descrito en este artículo. Esta revisión sólo se aplican a sistemas que experimenten el problema descrito en este artículo. Esta revisión podría ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a que la próxima actualización de software que contenga este hotfix.

Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si no aparece en esta sección, póngase en contacto con el servicio al cliente de Microsoft y soporte técnico para obtener la revisión.

NotaSi se producen problemas adicionales o si necesita solucionar un problema, es posible que deba crear una solicitud de servicio independiente. Los costos de soporte técnico usuales se aplicarán a las cuestiones y problemas que no reúnan los requisitos para esta revisión en cuestión. Para obtener una lista completa de los números de teléfono de soporte y servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:
http://support.Microsoft.com/contactus/?ws=support
NotaEl formulario de "Descarga de revisión disponible" muestra los idiomas para los que la revisión está disponible. Si no ve su idioma, es porque una revisión no está disponible para ese idioma.

Requisitos previos

  • Para aplicar la revisión para el proveedor Microsoft OLE DB para DB2 1.0, debe tener el proveedor OLE DB para DB2 1.0 Service Pack 1 (SP1).
  • Para aplicar la revisión para el proveedor Microsoft OLE DB para DB2 3.0, debe tener proveedor OLE DB para DB2 instalado de 3.0.
  • Para aplicar la revisión para Microsoft Host Integration Server 2009, debe tener instalado de Host Integration Server 2009.
  • Para aplicar la revisión de Microsoft Host Integration Server 2010, debe tener instalado de Host Integration Server 2010.

Notas

  • Proveedor OLE DB para DB2 1.0 SP1 se incluye en Microsoft SQL Server 2005 Feature Pack. Para descargar SQL Server 2005 Feature Pack, visite el siguiente sitio Web de Microsoft:
    Información de descarga de Microsoft SQL Server 2005 Feature Pack (febrero de 2007)
  • Proveedor OLE DB para DB2 3.0 se incluye en Microsoft SQL Server 2008 R2 Feature Pack. Para descargar el paquete de características de SQL Server 2008 R2, visite el siguiente sitio Web de Microsoft
    Información de descarga de Microsoft SQL Server 2008 R2 Feature Pack

Requisito de reinicio

No es necesario que reinicie el equipo después de aplicar este hotfix.

Información de reemplazo de hotfix

Este hotfix no sustituye a otras.

Información de archivo

La versión inglesa de esta revisión tiene los atributos de archivo (o atributos de archivo más reciente) mostrados en la tabla siguiente. Las fechas y horas de estos archivos se muestran en hora Universal coordinada (UTC). Al ver la información del archivo, se convierte en hora local. Para ver la diferencia entre la hora UTC y la hora local, utilice elZona horariaficha en laFecha y horaelemento de Panel de Control.
Para todas las versiones 86 del proveedor OLE DB para DB2 1.0 x
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño de archivoFechaTiempoPlataformaRequisito de SP
Db2oledb.dll7.0.3068.0520,01630-Nov-201022: 46x 86SERVICE PACK 2
Microsoft.hostintegration.dataaccesslibrary.dll7.0.3068.02,553,75230-Nov-201022: 46x 86SERVICE PACK 2
Microsoft.hostintegration.dataaccesstool.exe7.0.3068.0616,33630-Nov-201022: 46x 86SERVICE PACK 2
MSEIDRDA.dll7.0.3068.0805,20030-Nov-201022: 46x 86SERVICE PACK 2
Snanls.dll7.0.3068.0104,27230-Nov-201022: 46x 86SERVICE PACK 2
Trnsbidi.dll7.0.3068.059,72830-Nov-201022: 46x 86SERVICE PACK 2
Para todas las versiones basadas en 64 del proveedor OLE DB para DB2 1.0 x
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño de archivoFechaTiempoPlataformaRequisito de SPRama de servicio
Db2oledb.dll7.0.3068.0765,26418-Dic-201026: 00x 64SERVICE PACK 2No aplicable
Microsoft.hostintegration.dataaccesslibrary.dll7.0.3068.02,549,65618-Dic-201026: 00x 64SERVICE PACK 2No aplicable
Microsoft.hostintegration.dataaccesstool.exe7.0.3068.0612,24018-Dic-201026: 00x 64SERVICE PACK 2No aplicable
MSEIDRDA.dll7.0.3068.01,404,24018-Dic-201025: 00x 64SERVICE PACK 2No aplicable
Snanls.dll7.0.3068.0127,82418-Dic-201026: 00x 64SERVICE PACK 2No aplicable
Trnsbidi.dll7.0.3068.067,92018-Dic-201026: 00x 64SERVICE PACK 2No aplicable
Db2oledb.dll7.0.3068.0520,01618-Dic-201026: 00x 86NingunoSYSWOW
MSEIDRDA.dll7.0.3068.0805,20018-Dic-201025: 00x 86NingunoSYSWOW
Snanls.dll7.0.3068.0104,27218-Dic-201025: 00x 86NingunoSYSWOW
Trnsbidi.dll7.0.3068.059,72818-Dic-201026: 00x 86NingunoSYSWOW
Para todas las versiones 86 del proveedor OLE DB para DB2 3.0 x
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño de archivoFechaTiempoPlataforma
Db2oledb.dll8.0.4308.0628,56013-Ene-201122: 30x 86
Microsoft.hostintegration.dataaccesslibrary.dll8.0.4308.0788,37613-Ene-201122: 30x 86
Msdrda.dll8.0.4308.0898,89613-Ene-201122: 30x 86
Para todas las versiones basadas en 64 del proveedor OLE DB para DB2 3.0 x
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño de archivoFechaTiempoPlataformaRama de servicio
Db2oledb.dll8.0.4308.0880,97613-Ene-201122: 52x 64No aplicable
Microsoft.hostintegration.dataaccesslibrary.dll8.0.4308.0788,37613-Ene-201122: 52x 86No aplicable
Msdrda.dll8.0.4308.01,548,62413-Ene-201122: 52x 64No aplicable
Db2oledb.dll8.0.4308.0628,56013-Ene-201122: 30x 86SYSWOW
Msdrda.dll8.0.4308.0898,89613-Ene-201122: 30x 86SYSWOW
Para todas compatibles las versiones basadas en IA-64 del proveedor OLE DB para DB2 3.0
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño de archivoFechaTiempoPlataformaRama de servicio
Db2oledb.dll8.0.4308.01,721,16813-Ene-201111: 23IA-64No aplicable
Microsoft.hostintegration.dataaccesslibrary.dll8.0.4308.0788,37613-Ene-201111: 23x 86No aplicable
Msdrda.dll8.0.4308.02,429,77613-Ene-201111: 23IA-64No aplicable
Db2oledb.dll8.0.4308.0628,56013-Ene-201122: 30x 86SYSWOW
Msdrda.dll8.0.4308.0898,89613-Ene-201122: 30x 86SYSWOW
Para todas las versiones 86 de Host Integration Server 2009 x
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño de archivoFechaTiempoPlataforma
Db2oledb.dll8.0.3791.2540,49617-Dic-201005: 03x 86
Drdaresync.exe8.0.3791.2478,04017-Dic-201005: 03x 86
Microsoft.hostintegration.Adapters.msdb2.Management.dll8.0.3791.2407,47217-Dic-201005: 03x 86
Microsoft.hostintegration.Adapters.msdb2.Runtime.dll8.0.3791.279,78417-Dic-201005: 03x 86
Microsoft.hostintegration.dataaccesslibrary.dll8.0.3791.21,279,89617-Dic-201005: 03x 86
Microsoft.hostintegration.msdb2client.dll8.0.3791.2239,50417-Dic-201005: 03x 86
Msdrda.dll8.0.3791.2882,00017-Dic-201005: 03x 86
Snanls.dll8.0.3791.2109,39217-Dic-201005: 03x 86
Para todas las versiones de 64 compatibles de Host Integration Server 2009 x
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño de archivoFechaTiempoPlataformaRama de servicio
Db2oledb.dll8.0.3791.2763,72817-Dic-201010: 03x 64No aplicable
Drdaresync.exe8.0.3791.2675,16017-Dic-201010: 03x 64No aplicable
Microsoft.hostintegration.Adapters.msdb2.Management.dll8.0.3791.2407,47217-Dic-201010: 03x 86No aplicable
Microsoft.hostintegration.Adapters.msdb2.Runtime.dll8.0.3791.279,78417-Dic-201010: 03x 86No aplicable
Microsoft.hostintegration.dataaccesslibrary.dll8.0.3791.21,279,89617-Dic-201010: 03x 86No aplicable
Microsoft.hostintegration.msdb2client.dll8.0.3791.2239,50417-Dic-201010: 03x 86No aplicable
Msdrda.dll8.0.3791.21,527,63217-Dic-201010: 03x 64No aplicable
Snanls.dll8.0.3791.2128,33617-Dic-201010: 03x 64No aplicable
Db2oledb.dll8.0.3791.2540,49617-Dic-201005: 03x 86SYSWOW
Msdrda.dll8.0.3791.2882,00017-Dic-201005: 03x 86SYSWOW
Snanls.dll8.0.3791.2109,39217-Dic-201005: 03x 86SYSWOW
Para todas las versiones 86 de Host Integration Server 2010 x
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño de archivoFechaTiempoPlataforma
Db2oledb.dll8.5.4257.2640,84817-Dic-201022: 58x 86
Drdaresync.exe8.5.4257.2530,26417-Dic-201022: 58x 86
Microsoft.hostintegration.dataaccesslibrary.dll8.5.4257.21,300,37617-Dic-201022: 58x 86
Microsoft.hostintegration.drdalink.dll8.5.4257.258,76017-Dic-201022: 58x 86
Msdrda.dll8.5.4257.2976,72017-Dic-201022: 58x 86
Para todas las versiones de 64 compatibles de Host Integration Server 2010 x
Contraer esta tablaAmpliar esta tabla
Db2oledb.dll8.5.4257.2898,38417-Dic-201023: 04x 64
Drdaresync.exe8.5.4257.2717,65617-Dic-201023: 04x 64
Microsoft.hostintegration.dataaccesslibrary.dll8.5.4257.21,300,37617-Dic-201023: 04x 86
Microsoft.hostintegration.drdalink.dll8.5.4257.247.30017-Dic-201023: 04x 64
Msdrda.dll8.5.4257.21,693,52017-Dic-201023: 04x 64
NotaDebido a la interdependencia entre archivos, la revisión más reciente para Host Integration Server que contiene estos archivos también puede contener archivos adicionales.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Se refiere a:".

Solución

Para evitar este problema, utilice unaOPENQUERYfunción en lugar de un nombre de cuatro partes en la consulta.

Por ejemplo, la consulta puede ejecutarse lentamente cuando se ejecuta una consulta similar al siguiente.

SELECT * FROM LINKED_SERVER.CATALOG1.SCHEMA1.DB2_VIEW WHERE COLUMN1 = '12345'
Esta consulta se ejecuta más rápido cuando se utiliza elOPENQUERYfunción y similar al siguiente:
SELECT * FROM OPENQUERY(LINKED_SERVER, ?SELECT * FROM SCHEMA1.DB2_VIEW  WHERE COLUMN1 = '12345'?) 

Más información

Después de aplicar esta actualización, el proveedor OLE DB para DB2 envía una consulta similar a la siguiente si elOpenRowsetllamada incluye un valor distinto de cero paraDBPROP_MAXROWS:
SELECT * FROM tablename  FETCH FIRST nRows ROWS ONLY

Si elDBPROP_MAXROWSpropiedad está establecida en0Proveedor OLE DB para DB2 envía la siguiente consulta para obtener la información de esquema, y esta consulta podría ejecutarse lentamente:

SELECT * FROM tablename
Los productos de terceros que analiza este artículo están fabricados por compañías independientes de Microsoft. Microsoft no otorga ninguna garantía, implícita o de otro tipo, respecto al rendimiento o confiabilidad de estos productos.

Propiedades

Id. de artículo: 2464256 - Última revisión: lunes, 14 de marzo de 2011 - Versión: 2.0
La información de este artículo se refiere 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
Palabras clave: 
kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2464256 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 2464256

Enviar comentarios

 

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