REVISIÓN: La función de sistema @@ ERROR puede devolver un valor incorrecto cuando ejecuta una instrucción de Transact-SQL que usa un plan de ejecución en paralelo en SQL Server 2000 de 32 bits o en SQL Server 2000 de 64 bits

Seleccione idioma Seleccione idioma
Id. de artículo: 890925 - Ver los productos a los que se aplica este artículo
Nº de error: 471094 (SQL Server 8.0)



Expandir todo | Contraer todo

En esta página

Contenido del artículo

Resumen

En este artículo describe lo siguiente acerca de esta versión de revisión:
  • Los problemas que corrigen este paquete de revisiones.
  • Los requisitos previos para instalar el paquete de hotfix.
  • Si debe reiniciar o no el equipo después de instalar el paquete de hotfix.
  • Si el paquete de hotfix queda reemplazado o no por otro paquete de hotfix.
  • Si debe hacer cambios en el registro.
  • Archivos contenidos en el paquete de hotfix.

Síntomas

Cuando se ejecuta una instrucción Transact-SQL utilizando un plan de ejecución en paralelo, Microsoft SQL Server 2000 no puede establecer el valor de la función de sistema @@ ERROR correctamente cuando la instrucción de Transact-SQL falla o cuando SQL Server detecta un error. Si examina el valor que es devuelto por la función @@ ERROR del sistema inmediatamente después de que se ejecuta la instrucción de Transact-SQL, verá la función @@ ERROR devuelve un valor cero incluso cuando la consulta provocó un error distinto de cero.

Por ejemplo, la siguiente instrucción Transact-SQL todavía puede ejecutar la instrucción DELETE, aunque la instrucción INSERT produce un error cuando utiliza un plan de ejecución en paralelo:
INSERT INTO table2 SELECT * FROM table1
IF ( @@ERROR = 0 )
  DELETE FROM table1
planes de ejecución paralela de Nota sólo se producen en las instancias de SQL Server que se ejecutan en un equipo que tiene dos o más procesadores lógicos.

Para obtener una lista de revisiones anteriores, consulte la sección "Microsoft SQL Server 2000 posteriores al Pack 3 o Microsoft SQL Server 2000 Service Pack 3a revisiones" en el siguiente artículo de Microsoft Knowledge Base:
290211Cómo obtener el Service Pack más reciente de SQL Server 2000


Solución

Información de Service Pack

Para resolver este problema, consiga el Service Pack más reciente para Microsoft SQL Server 2000. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
290211Cómo obtener el Service Pack más reciente de SQL Server 2000

Información de revisiones

Requisitos previos

Esta revisión requiere SQL Server 2000 Service Pack 3 (SP3). Para información acerca de cómo obtener SQL Server 2000 SP3, vea el artículo siguiente en Microsoft Knowledge Base:
290211Cómo obtener el Service Pack más reciente de SQL Server 2000
Además, esta revisión requiere que tenga también SQL Server 2000 hotfix generación 2000.80.977 instalado.Para información adicional sobre hotfix de SQL Server 2000 posterior SP3a compilación 2000.80.977, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
888007Recibe un mensaje de error "el producto no tiene instalada una actualización requisitos previo" cuando intenta instalar una revisión posterior al SP3 de SQL Server 2000




Información de reinicio

No es necesario que reinicie el equipo una vez aplicado este hotfix.



Información de archivos de hotfix

Este hotfix contiene sólo los archivos necesarios para corregir los problemas recogidos en este artículo. Esta revisión no puede contenga 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 enumerados en la siguiente tabla u otros posteriores. Las fechas y horas de estos archivos aparecen en la hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.

Versión SQL Server 2000 32 de bits
   Date         Time   Version            Size    File name
   ---------------------------------------------------------------------
   01-Dec-2004  19:57  2000.80.993.0     664,128  Autoplt.dll      
   01-Dec-2004  19:57  2000.80.993.0      78,400  Console.exe
   01-Dec-2004  19:57  2000.80.993.0     332,352  Ctasksui.dll
   01-Dec-2004  19:57  2000.80.993.0     315,968  Custtask.dll     
   01-Dec-2004  19:57  2000.80.993.0      33,340  Dbmslpcn.dll     
   08-Apr-2004  21:42                    786,432  Distmdl.ldf
   08-Apr-2004  21:42                  2,359,296  Distmdl.mdf
   30-Sep-2003  22:55                        180  Drop_repl_hotfix.sql
   01-Dec-2004  19:57  2000.80.993.0   1,905,216  Dtspkg.dll       
   01-Dec-2004  19:57  2000.80.993.0     528,960  Dtspump.dll      
   01-Dec-2004  19:57  2000.80.993.0   1,557,052  Dtsui.dll        
   01-Dec-2004  19:57  2000.80.993.0     639,552  Dtswiz.dll       
   30-Sep-2003  22:55                    747,927  Instdist.sql
   30-Sep-2003  22:55                      1,581  Inst_repl_hotfix.sql
   01-Dec-2004  19:57  2000.80.993.0     352,828  Isqlw.exe        
   01-Dec-2004  19:57  2000.80.993.0      82,492  Itwiz.exe        
   01-Dec-2004  19:57  2000.80.993.0      90,692  Msgprox.dll      
   29-Oct-2004  08:16  8.11.41022.0      226,304  Mssdi98.dll      
   01-Dec-2004  19:57  2000.80.993.0      62,024  Odsole70.dll     
   01-Dec-2004  19:58  2000.80.993.0      25,144  Opends60.dll     
   01-Dec-2004  19:57  2000.80.993.0      57,904  Osql.exe         
   01-Dec-2004  19:57  2000.80.993.0     279,104  Pfutil80.dll     
   30-Sep-2003  22:48                    550,780  Procsyst.sql
   08-Apr-2004  21:42                     12,305  Qfe469315.sql
   08-Apr-2004  21:42                     19,195  Qfe469571.sql
   27-Aug-2004  00:13                      5,157  Qfe472197.sql
   01-Dec-2004  19:57  2000.80.993.0     143,940  Qrdrsvc.exe      
   01-Dec-2004  18:49                  1,106,776  Replmerg.sql
   01-Dec-2004  19:57  2000.80.993.0     221,768  Replprov.dll     
   01-Dec-2004  19:57  2000.80.993.0     307,784  Replrec.dll      
   01-Dec-2004  18:56  2000.80.993.0     159,813  Replres.rll
   27-Aug-2004  00:13                  1,086,925  Replsys.sql
   30-Sep-2003  22:55                    986,603  Repltran.sql
   25-Nov-2004  00:04                         55  Repl_uninstall.sql
   01-Dec-2004  19:57  2000.80.993.0     287,304  Rinitcom.dll     
   01-Dec-2004  19:57  2000.80.993.0      78,416  Sdiclnt.dll      
   01-Dec-2004  19:57  2000.80.993.0      66,112  Semmap.dll       
   01-Dec-2004  19:57  2000.80.993.0      57,916  Semnt.dll        
   01-Dec-2004  19:57  2000.80.993.0     492,096  Semobj.dll       
   01-Dec-2004  19:20  2000.80.993.0     172,032  Semobj.rll
   01-Dec-2004  19:57  2000.80.993.0      53,832  Snapshot.exe     
   30-Sep-2003  22:48                    117,834  Sp3_serv_uni.sql
   01-Dec-2004  19:57  2000.80.993.0      28,672  Sqlagent.dll     
   01-Dec-2004  19:57  2000.80.993.0     311,872  Sqlagent.exe     
   01-Dec-2004  19:57  2000.80.993.0     168,001  Sqlakw32.dll     
   01-Dec-2004  19:57  2000.80.993.0      33,344  Sqlctr80.dll     
   01-Dec-2004  19:57  2000.80.993.0   4,215,360  Sqldmo.dll       
   01-Dec-2004  19:57                     25,172  Sqldumper.exe    
   01-Dec-2004  18:48  2000.80.993.0      28,672  Sqlevn70.rll
   01-Dec-2004  19:57  2000.80.993.0     156,224  Sqlmaint.exe     
   01-Dec-2004  19:57  2000.80.993.0     180,792  Sqlmap70.dll     
   01-Dec-2004  19:57  2000.80.993.0     188,992  Sqlmmc.dll
   01-Dec-2004  19:12  2000.80.993.0     479,232  Sqlmmc.rll
   01-Dec-2004  19:57  2000.80.993.0     401,984  Sqlqry.dll
   01-Dec-2004  19:57  2000.80.993.0      57,920  Sqlrepss.dll     
   01-Dec-2004  19:58  2000.80.993.0   7,716,945  Sqlservr.exe     
   01-Dec-2004  19:57  2000.80.993.0     590,396  Sqlsort.dll      
   01-Dec-2004  19:57  2000.80.993.0      45,644  Sqlvdi.dll       
   01-Dec-2004  19:58  2000.80.993.0     106,588  Sqsrvres.dll
   01-Dec-2004  19:58  2000.80.993.0      33,340  Ssmsgnet.dll     
   01-Dec-2004  19:58  2000.80.993.0      33,340  Ssmslpcn.dll     
   01-Dec-2004  19:58  2000.80.993.0      33,340  Ssmsqlgc.dll     
   01-Dec-2004  19:58  2000.80.993.0      82,492  Ssnetlib.dll     
   01-Dec-2004  19:58  2000.80.993.0      25,148  Ssnmpn70.dll     
   01-Dec-2004  19:58  2000.80.993.0     123,456  Stardds.dll
   01-Dec-2004  19:58  2000.80.993.0     158,240  Svrnetcn.dll     
   01-Dec-2004  19:57  2000.80.993.0      76,416  Svrnetcn.exe     
   01-Dec-2004  19:58  2000.80.993.0      49,228  Ums.dll          
   01-Dec-2004  19:58  2000.80.993.0      74,304  Xplog70.dll      
   01-Dec-2004  19:58  2000.80.993.0      98,872  Xpweb70.dll
Versión de Server 2000 de 64 bits SQL
   Date         Time   Version            Size    File name        Platform
   ------------------------------------------------------------------------
   02-Dec-2004  03:15  2000.80.993.0      56,832  Dbmslpcn.dll     IA-64
   02-Dec-2004  03:14  2000.80.993.0     528,960  Dtspump.dll
   02-Dec-2004  03:15  2000.80.993.0     185,856  Msgprox.dll
   29-Oct-2004  08:16  8.11.41022.0      742,912  Mssdi98.dll      IA-64
   02-Dec-2004  03:15  2000.80.993.0     151,040  Odsole70.dll     IA-64
   02-Dec-2004  03:16  2000.80.993.0      27,136  Opends60.dll     IA-64
   01-Dec-2004  20:09                     19,880  Opends60.lib
   02-Dec-2004  03:15  2000.80.993.0     148,992  Osql.exe         IA-64
   02-Dec-2004  03:15  2000.80.993.0     353,280  Qrdrsvc.exe
   02-Dec-2004  03:15  2000.80.993.0     534,528  Replprov.dll     IA-64
   02-Dec-2004  03:15  2000.80.993.0     769,024  Replrec.dll
   02-Dec-2004  03:15  2000.80.993.0     650,240  Rinitcom.dll     IA-64
   02-Dec-2004  03:15  2000.80.993.0     160,768  Semmap.dll       IA-64
   02-Dec-2004  03:15  2000.80.993.0     132,608  Semnt.dll        IA-64
   02-Dec-2004  03:15  2000.80.993.0      88,576  Snapshot.exe     IA-64
   02-Dec-2004  03:14  2000.80.993.0      10,240  Sqlagent.dll     IA-64
   02-Dec-2004  03:15  2000.80.993.0   1,055,232  Sqlagent.exe
   02-Dec-2004  03:15  2000.80.993.0      90,112  Sqlboot.dll      IA-64
   02-Dec-2004  03:15  2000.80.993.0      32,256  Sqlctr80.dll     IA-64
   02-Dec-2004  03:15  2000.80.993.0     812,032  Sqldata.dll      IA-64
   02-Dec-2004  03:15  2000.80.993.0  13,845,504  Sqldmo.dll
   02-Dec-2004  03:15                     39,936  Sqldumper.exe    IA-64
   02-Dec-2004  03:15  2000.80.993.0     493,568  Sqlmaint.exe     IA-64
   02-Dec-2004  03:15  2000.80.993.0      23,040  Sqlmap70.dll     IA-64
   02-Dec-2004  03:15  2000.80.993.0     152,064  Sqlrepss.dll     IA-64
   02-Dec-2004  03:16  2000.80.993.0  25,255,936  Sqlservr.exe     IA-64
   02-Dec-2004  03:15  2000.80.993.0     616,960  Sqlsort.dll      IA-64
   02-Dec-2004  03:15  2000.80.993.0     120,320  Sqlvdi.dll       IA-64
   02-Dec-2004  03:15  2000.80.993.0     227,328  Sqsrvres.dll     IA-64
   02-Dec-2004  03:15  2000.80.993.0      53,760  Ssmslpcn.dll     IA-64
   02-Dec-2004  03:15  2000.80.993.0      59,904  Ssmsqlgc.dll     IA-64
   02-Dec-2004  03:15  2000.80.993.0     256,000  Ssnetlib.dll     IA-64
   02-Dec-2004  03:15  2000.80.993.0      20,992  Ssnmpn70.dll     IA-64
   02-Dec-2004  03:15  2000.80.993.0     430,080  Svrnetcn.dll
   02-Dec-2004  03:15  2000.80.993.0     185,856  Svrnetcn.exe     IA-64
   02-Dec-2004  03:15  2000.80.993.0     183,296  Xplog70.dll
   02-Dec-2004  03:15  2000.80.993.0     187,392  Xpweb70.dll      IA-64
   21-Jul-2004  17:38  2000.80.962.0      57,904  Osql.exe         x86
   30-Sep-2003  22:23  2000.80.760.0     269,824  Sqdedev.dll      IA-64
   01-Dec-2004  20:22  2000.80.993.0     146,432  Replres.rll
   01-Dec-2004  20:10  2000.80.993.0      19,968  Sqlevn70.rll
Nota Debido a la interdependencia entre archivos, la revisión más reciente que contiene estos archivos también puede contener archivos adicionales.

Solución

Para evitar este problema, utilice uno de los métodos siguientes:
  • Utilice una sugerencia de consulta

    Agregar la sugerencia de consulta OPTION (MAXDOP 1) para evitar que la instrucción SELECT del uso de un plan de ejecución en paralelo.
  • Utilice el procedimiento almacenado del sistema de sp_configure

    Ejecute el procedimiento almacenado del sistema sp_configure para establecer la opción max degree of parallelism a 1 para la instancia de SQL Server. Para establecer la opción max degree of parallelism , instrucción de ejecución la siguiente instrucción Transact-SQL en la instancia de SQL Server que desea cambiar:
    exec sp_configure 'max degree of parallelism',1
    GO
    RECONFIGURE
    GO

    Nota No se recomienda esto ya que puede afectar al rendimiento.

Estado

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

Este problema se corrigió por primera vez en Pack 4 de Microsoft SQL Server 2000.

Más información

Para obtener información adicional acerca del esquema de nomenclatura para Microsoft SQL Server las actualizaciones, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
822499Nuevo esquema de nomenclatura para los paquetes de actualización del software de Microsoft SQL Server
Para obtener información adicional acerca de la terminología que usa Microsoft cuando corrige software después de haberlo publicado, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft

Propiedades

Id. de artículo: 890925 - Última revisión: viernes, 02 de noviembre de 2007 - Versión: 2.3
La información de este artículo se refiere 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
Palabras clave: 
kbmt kbquery kbsqlserv2000presp4fix kbbug kbfix kbhotfixserver kbqfe KB890925 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): 890925

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