REVISIÓN: se puede observar una disminución del rendimiento cuando se ejecuta una consulta que utiliza el operador UNION ALL en el Service Pack 4 de SQL Server 2000

Seleccione idioma Seleccione idioma
Id. de artículo: 917606 - Ver los productos a los que se aplica este artículo
Error #: 527 (revisión de SQL)
Microsoft distribuye las correcciones de Microsoft SQL Server 2000 como un archivo descargable. Debido a que las revisiones son acumulativas, cada nueva versión contiene todas las revisiones y todas las revisiones de seguridad que se incluyeron con la anterior SQL Server 2000 corregir versión.
Expandir todo | Contraer todo

En esta página

Resumen

En este artículo se describe lo siguiente acerca de esta versión de hotfix:
  • Los problemas que corrige el paquete de hotfix
  • Los requisitos previos para aplicar el paquete de hotfix
  • Si debe reiniciar el equipo después de aplicar el paquete de hotfix
  • Si el paquete de hotfix queda reemplazado o no por otro paquete de hotfix
  • Si debe realizar los cambios del Registro después de aplicar el paquete de hotfix
  • Archivos contenidos en el paquete de hotfix

Síntomas

Tenga en cuenta la situación siguiente. Actualizar desde Microsoft SQL Server 2000 Service Pack 3 (SP3) a Microsoft SQL Server 2000 Service Pack 4 (SP4). A continuación, se ejecute una consulta que usa el operador UNION ALL. En este escenario, puede observar una disminución del rendimiento.

Este problema puede producirse si se cumplen las condiciones siguientes:
  • Se consulta los datos de las tablas combinadas.
  • Las tablas combinadas contienen las columnas que utilizan las restricciones.
  • Las tablas combinadas contienen gran cantidad de registros.
Además, este problema se produce en la versión original de SQL Server 2000, en SQL Server 2000 generar 8.00.850 y en SQL Server 2000 genera más adelante de generar 8.00.850.

Para obtener una lista de todas las revisiones posteriores al Service Pack de SQL Server 2000 públicamente lanzadas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
894905 Lista acumulado de las revisiones que están disponibles para SQL Server 2000 Service Pack 4

Causa

Este problema se produce porque SQL Server genera un plan de ejecución ineficaz que tiene recorridos de índice clúster redundantes.

Solución

El programa de instalación no instala este hotfix correctamente en sistemas de 64 bits x. Este problema de instalación se produce cuando se cumplen las condiciones siguientes:
  • El sistema utiliza la arquitectura del procesador Advanced Micro Devices (AMD) AMD64 o la arquitectura del procesador Intel Extended Memory 64 Technology (EM64T).

    Tenga en cuenta Este problema no se produce en los sistemas que utilicen la arquitectura del procesador Itanium de Intel.
  • El sistema está ejecutando una versión de 64 bits del sistema operativo Microsoft Windows Server.
  • El sistema está ejecutando una versión de 32 bits de SQL Server 2000.
Se ha corregido este problema de instalación en versiones posteriores de SQL Server 2000, a partir de la versión 8.00.2244. Cuando un cliente que ejecute SQL Server 2000 en un sistema de 64 bits x solicita este hotfix, se proporcionará una versión que incluye esta revisión y que puede instalarse correctamente en un sistema x 64. La generación que se proporcionan será versión 8.00.2244 o una versión posterior.

Información acerca del hotfix

Hay un hotfix compatible de Microsoft. Sin embargo, este hotfix está diseñada para corregir sólo el problema que se describe en este artículo. Aplicar este hotfix sólo a sistemas que experimenten este problema específico.

Si la revisión está disponible para su descarga, hay una sección "Descargar revisiones disponibles" en la parte superior de este artículo de Knowledge Base. Si no aparece en esta sección, enviar una solicitud a soporte técnico y servicio de atención al cliente de Microsoft para obtener la revisión.

Tenga en cuenta Si se producen problemas adicionales o si cualquier solución de problemas es necesario, quizás tenga que crear una solicitud de servicio independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y temas que no reúnan las condiciones necesarias para esta revisión específica. Para obtener una lista completa de los números de teléfono del servicio de atención al cliente de Microsoft y soporte técnico o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:
http://support.microsoft.com/contactus/?ws=support
Tenga en cuenta El formulario "Descarga de revisiones disponibles" muestra los idiomas para los que la revisión está disponible. Si no aparece su idioma, es porque una revisión no está disponible para ese idioma.

Requisitos previos

  • Microsoft SQL Server 2000 Service Pack 4 (SP4)

    Para información acerca de cómo obtener el SP4 de SQL Server 2000, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    290211 Cómo obtener el último Service Pack de SQL 2000 Server

Información de reinicio

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

La información del Registro

No se han modificará el Registro.

Información de archivos de hotfix

Este hotfix contiene sólo los archivos necesarios para corregir los problemas recogidos en este artículo. Este hotfix no puede contener todos los archivos que debe tener para actualizar plenamente un producto a la compilación más reciente.

La versión en inglés de este hotfix tiene los atributos de archivo (o atributos de último archivo) mostrados en la siguiente tabla. Las fechas y horas de estos archivos se muestran en hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para ver la diferencia entre la hora UTC y la hora local, utilice la ficha Zona horaria en el elemento de fecha y hora en el Panel de control.
SQL Server 2000, de 32 bits x 86 versiones
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño del archivoFechaTiempoPlataforma
80sp4-Tools.sqlNo aplicable134,62819-Feb-200601:40No aplicable
Dtsui.dll2000.80.2192.01,593,34404-ABR-2006las 06: 00x 86
Impprov.dll2000.80.2192.0102,40004-ABR-2006las 06: 00x 86
Msgprox.dll2000.80.2192.094,20804-ABR-2006las 06: 00x 86
Msrpjt40.dll4.10.9424.0188,47324 De enero de 200608:13x 86
Mssdi98.dll8.11.50523.0239,10406-Junio de 200522:46x 86
Ntwdblib.dll2000.80.2192.0290,81604-ABR-2006las 06: 00x 86
Odsole70.dll2000.80.2192.069,63204-ABR-2006las 06: 00x 86
Osql.exe2000.80.2192.057,34404-ABR-200602:28x 86
Pfclnt80.dll2000.80.2192.0430,08004-ABR-2006las 06: 00x 86
Procsyst.sqlNo aplicable552,06817 De junio de 200500:15No aplicable
Replmerg.exe2000.80.2192.0163,84004-ABR-200602:49x 86
Replmerg.sqlNo aplicable1,151,45004-ABR-200601:56No aplicable
ReplProv.dll2000.80.2192.0237,56804-ABR-2006las 06: 00x 86
Replrec.dll2000.80.2192.0315,39204-ABR-2006las 06: 00x 86
Replsub.dll2000.80.2192.0270,33604-ABR-2006las 06: 00x 86
Repltran.sqlNo aplicable1,000,63402-Feb-200621:59No aplicable
Semexec.dll2000.80.2192.0856,06404-ABR-2006las 06: 00x 86
Sp4_serv_qfe.sqlNo aplicable18,81017 De junio de 200500:15No aplicable
Sqlagent.exe2000.80.2192.0323,58404-ABR-200601:48x 86
SQLDiag.exe2000.80.2192.0118,78404-ABR-200604:33x 86
Sqldmo.dll2000.80.2192.04,362,24004-ABR-2006las 06: 00x 86
Sqlevn70.rll2000.80.2192.045,05604-ABR-2006las 06: 00No aplicable
Sqlfth75.dll2000.80.2192.0102,40004-ABR-200602:22x 86
Sqlservr.exe2000.80.2192.09,162,75204-ABR-200605:59x 86
Sqlsort.dll2000.80.2192.0589,82404-ABR-2006las 06: 00x 86
Stardds.dll2000.80.2192.0176,12804-ABR-2006las 06: 00x 86
Svrnetcn.dll2000.80.2192.0110,59204-ABR-2006las 06: 00x 86
UMS.dll2000.80.2192.035,32804-ABR-2006las 06: 00x 86
Xpstar.dll2000.80.2192.0311,29604-ABR-2006las 06: 00x 86
SQL Server 2000, versión la arquitectura Itanium
Contraer esta tablaAmpliar esta tabla
Nombre de archivoVersión del archivoTamaño del archivoFechaTiempoPlataforma
Impprov.dll2000.80.2192.0244,73606-ABR-200611:16IA-64
Msgprox.dll2000.80.2192.0188,41606-ABR-200611:16IA-64
Mssdi98.dll8.11.50523.0758,78406-ABR-200611:16IA-64
Msvcr71.dll7.10.3052.4348,16006-ABR-200611:16x 86
Odsole70.dll2000.80.2192.0150,52806-ABR-200611:16IA-64
Osql.exe2000.80.2192.0149,50406-ABR-200611:16IA-64
Pfclnt80.dll2000.80.2192.01,187,84006-ABR-200611:16IA-64
Procsyst.sqlNo aplicable552,06806-ABR-200611:16No aplicable
Replmerg.exe2000.80.2192.0375,29606-ABR-200611:16IA-64
Replmerg.sqlNo aplicable1,151,45006-ABR-200611:16No aplicable
ReplProv.dll2000.80.2192.0538,62406-ABR-200611:16IA-64
Replprov2.dll2000.80.2192.0538,62406-ABR-200611:16IA-64
Replrec.dll2000.80.2192.0775,16806-ABR-200611:16IA-64
Replrec2.dll2000.80.2192.0775,16806-ABR-200611:16IA-64
Replsub.dll2000.80.2192.0641,02406-ABR-200611:16IA-64
Repltran.sqlNo aplicable1,000,63406-ABR-200611:16No aplicable
Sqlagent.exe2000.80.2192.01,061,37606-ABR-200611:16IA-64
SQLDiag.exe2000.80.2192.0334,33606-ABR-200611:16IA-64
Sqldmo.dll2000.80.2192.013,860,35206-ABR-200611:16IA-64
Sqlevn70.rll2000.80.2192.035,32806-ABR-200611:16No aplicable
Sqlfth75.dll2000.80.2192.0246,78406-ABR-200611:16IA-64
Sqlservr.exe2000.80.2192.024,932,86406-ABR-200611:16IA-64
Sqlsort.dll2000.80.2192.0617,47206-ABR-200611:16IA-64
Svrnetcn.dll2000.80.2192.0427,52006-ABR-200611:16IA-64
Xpstar.dll2000.80.2192.0873,47206-ABR-200611:16IA-64

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft

Pasos para reproducir el problema

  1. En el Service Pack 4 de SQL Server 2000, ejecute las instrucciones siguientes mediante el Analizador de consultas de SQL.
    use master
    go
    
    create database repro
    go
    
    use repro
    go
    
    create table t1 (i int constraint pkt1 primary key check ((i>11) and (i< 15)), j int )
    create table t2 (a int constraint pkt2 primary key check ((a>15) and (a< 20)), b int)
    create table t3 (c int constraint pkt3 primary key check ((c>7) and (c< 13)), d int)
    create table t4 (e int constraint pkt4 primary key check ((e>19) and (e< 24)), f int)
    create table s1 (i int constraint pkt5 primary key, j int)
    create table s2 (a int constraint pkt6 primary key, b int)
    create table s3 (c int constraint pkt7 primary key, d int)
    create table s4 (e int constraint pkt8 primary key, f int)
    go
    
    create view v1 as
    select t1.* from
    t1 inner join s1 on t1.i = s1.i
    union all
    select t2.* from
    t2 inner join s2 on t2.a = s2.a
    go
    
    create view v2 as
    select t3.* from
    t3 inner join s3 on t3.c = s3.c
    union all
    select t4.* from
    t4 inner join s4 on t4.e = s4.e
    go
    
  2. Para que SQL Server devuelve información de ejecución, ejecute las instrucciones siguientes.
    set showplan_text on
    go
  3. Ejecute las instrucciones siguientes y, a continuación, examine la salida.
    select * from v1 inner join v2 on i = c
    where i = 12 or i = 17
    go
    El siguiente plan de ejecución ineficaz se muestra en el resultado.
    StmtText                                                                                                                
    ----------------------------------------------------------------------------------------------------------------------- 
      |--Concatenation
           |--Nested Loops(Inner Join, WHERE:([t3].[c]=[t1].[i]))
           |    |--Nested Loops(Inner Join)
           |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s1].[pkt5]), SEEK:([s1].[i]=12) ORDERED FORWARD)
           |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t1].[pkt1]), SEEK:([t1].[i]=12) ORDERED FORWARD)
           |    |--Nested Loops(Inner Join, OUTER REFERENCES:([t3].[c]))
           |         |--Clustered Index Scan(OBJECT:([Repro].[dbo].[t3].[pkt3]))
           |         |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s3].[pkt7]), SEEK:([s3].[c]=[t3].[c]) ORDERED FORWARD)
           |--Nested Loops(Inner Join, WHERE:([t4].[e]=[t2].[a]))
                |--Nested Loops(Inner Join)
                |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s2].[pkt6]), SEEK:([s2].[a]=17) ORDERED FORWARD)
                |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t2].[pkt2]), SEEK:([t2].[a]=17) ORDERED FORWARD)
                |--Nested Loops(Inner Join, OUTER REFERENCES:([t4].[e]))
                     |--Clustered Index Scan(OBJECT:([Repro].[dbo].[t4].[pkt4]))
                     |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s4].[pkt8]), SEEK:([s4].[e]=[t4].[e]) ORDERED FORWARD)
    
    (15 row(s) affected)
Cuando siga estos pasos en Service Pack 3 de SQL Server 2000, el siguiente plan de ejecución eficaz se muestra en el resultado.
StmtText                                                                                                                
----------------------------------------------------------------------------------------------------------------------- 
  |--Concatenation
       |--Nested Loops(Inner Join, OUTER REFERENCES:([s3].[c]))
       |    |--Nested Loops(Inner Join, OUTER REFERENCES:([t1].[i]))
       |    |    |--Nested Loops(Inner Join)
       |    |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s1].[pkt5]), SEEK:([s1].[i]=12) ORDERED FORWARD)
       |    |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t1].[pkt1]), SEEK:([t1].[i]=12) ORDERED FORWARD)
       |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s3].[pkt7]), SEEK:([s3].[c]=[t1].[i]) ORDERED FORWARD)
       |    |--Filter(WHERE:(STARTUP EXPR([s3].[c]<13 AND [s3].[c]>7)))
       |         |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t3].[pkt3]), SEEK:([t3].[c]=[s3].[c]) ORDERED FORWARD)
       |--Nested Loops(Inner Join, OUTER REFERENCES:([s4].[e]))
            |--Nested Loops(Inner Join, OUTER REFERENCES:([t2].[a]))
            |    |--Nested Loops(Inner Join)
            |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s2].[pkt6]), SEEK:([s2].[a]=17) ORDERED FORWARD)
            |    |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t2].[pkt2]), SEEK:([t2].[a]=17) ORDERED FORWARD)
            |    |--Clustered Index Seek(OBJECT:([Repro].[dbo].[s4].[pkt8]), SEEK:([s4].[e]=[t2].[a]) ORDERED FORWARD)
            |--Filter(WHERE:(STARTUP EXPR([s4].[e]<24 AND [s4].[e]>19)))
                 |--Clustered Index Seek(OBJECT:([Repro].[dbo].[t4].[pkt4]), SEEK:([t4].[e]=[s4].[e]) ORDERED FORWARD)

(17 row(s) affected)

Propiedades

Id. de artículo: 917606 - Última revisión: viernes, 02 de noviembre de 2007 - Versión: 1.3
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Personal Edition
Palabras clave: 
kbmt kbautohotfix kbhotfixserver kbqfe kbpubtypekc KB917606 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. Si ve errores y desea ayudar con este esfuerzo, rellene la encuesta en la parte inferior de este artículo.
Haga clic aquí para ver el artículo original (en inglés): 917606

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