REVISIÓN: Mensaje de error: "información de columna clave insuficiente para actualizar" se produce en SQL Server 2000 SP3

Seleccione idioma Seleccione idioma
Id. de artículo: 814893 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
CPR - SQL 2000 - revisión en SP4
Nº DE ERROR: 364087 (SHILOH_BUGS)
Expandir todo | Contraer todo

En esta página

Síntomas

Después de aplicar uno de los siguientes
  • La revisión descrita en
    321541REVISIÓN: SQL Server puede devolver incorrecto cuando utiliza una combinación externa y una vista de resultados
    en un equipo que ejecuta Microsoft SQL Server 2000 Service Pack 2 (SP2).
  • La revisión de seguridad descrita en el Microsoft Security Bulletin MS02-061 de Microsoft SQL Server 2000 SP2.
  • Microsoft SQL Server 2000 Service Pack 3 (SP3).
puede recibir el siguiente mensaje de error:
Información de columna clave insuficiente para actualizar o actualizar.

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 información adicional, 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

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 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.
   Date         Time   Version        Size              File name
   ------------------------------------------------------------------
   08-Feb-2003  05:43                    786,432 bytes  Distmdl.ldf
   08-Feb-2003  05:43                  2,359,296 bytes  Distmdl.mdf
   01-Feb-2003  00:32  2000.80.763.0   1,557,052 bytes  Dtsui.dll        
   30-Jan-2003  05:18                    746,470 bytes  Instdist.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692 bytes  Msgprox.dll      
   08-Feb-2003  03:53                  1,065,895 bytes  Replmerg.sql
   08-Feb-2003  06:40  2000.80.765.0     221,768 bytes  Replprov.dll     
   08-Feb-2003  06:40  2000.80.765.0     307,784 bytes  Replrec.dll      
   30-Jan-2003  05:18                  1,084,318 bytes  Replsys.sql
   08-Feb-2003  06:40  2000.80.765.0     176,696 bytes  Sqlmap70.dll     
   08-Feb-2003  06:40  2000.80.765.0      57,920 bytes  Sqlrepss.dll     
   15-Feb-2003  02:52  2000.80.769.0   7,512,145 bytes  Sqlservr.exe     
   15-Feb-2003  02:52                 12,715,008 bytes  Sqlservr.pdb
   08-Feb-2003  06:40  2000.80.765.0      45,644 bytes  Sqlvdi.dll       
   08-Feb-2003  06:40  2000.80.765.0      82,492 bytes  Ssnetlib.dll     
				
Nota debido a las dependencias de archivos, la revisión o característica más reciente que contiene estos archivos quizás contenga también archivos adicionales.

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:".Este problema se corrigió por primera vez en Pack 4 de Microsoft SQL Server 2000.

Más información

El hotfix descrito en este artículo regresses la corrección que se describe en el siguiente artículo de Microsoft Knowledge Base:
321541REVISIÓN: SQL Server puede devolver resultados incorrectos cuando utiliza una combinación externa y una vista


Nota Para que el hotfix descrito en este operativa de artículo, debe habilitar el indicador de traza T220 y reinicie SQL Server.

Para habilitar el indicador de traza, siga estos pasos:
  1. Abra Administrador corporativo de SQL en el servidor.
  2. Haga clic para seleccionar el servidor que está experimentando el problema.
  3. Haga clic con el botón secundario en el servidor y, a continuación, haga clic en Propiedades .
  4. En la ficha General , haga clic en Inicio parámetros .
  5. En el cuadro de diálogo Parámetros de inicio , escriba -T220 y, a continuación, haga clic en Agregar .
  6. Haga clic en Aceptar .
  7. Detener y, a continuación, reinicie el servicio MSSQLServer para que reinicie SQL Server.

Un ejemplo del problema y qué el indicador de traza - T220 sigue.
El ejemplo utiliza dos tablas de ejemplo denominados Test_Table1 y Test_Table2 . Tenga en cuenta las tablas y vista siguientes:
CREATE TABLE TEST_TABLE1 ( 
[CODE] [int] NOT NULL PRIMARY KEY, 
[DESCRIPTION] [varchar] (50)) 

CREATE TABLE TEST_TABLE2 ( 
[CODE] [int] NOT NULL PRIMARY KEY, 
[DESCRIPTION] [varchar] (50)) 
go
CREATE VIEW dbo.TEST_VIEW 
AS 
SELECT CODE, 
UPPER(DESCRIPTION) AS DESCRIPTION, 
ISNULL(UPPER(DESCRIPTION), 'DEFAULT') DESCRIPTION_DEF 
FROM dbo.TEST_TABLE2 
go
Ahora, ejecutar este código:
DECLARE cc CURSOR FOR 
SELECT TEST_TABLE1.CODE, TEST_VIEW.DESCRIPTION, TEST_VIEW.DESCRIPTION_DEF 
FROM TEST_TABLE1 LEFT OUTER JOIN TEST_VIEW 
ON TEST_VIEW.CODE = TEST_TABLE1.CODE 
FOR UPDATE
  • Para versiones de SQL Server 2000 antes de SQL Server 2000 SP2, con la revisión de seguridad descritos en el Microsoft Security Bulletin MS02-061 instalado, el código se ejecuta correctamente.
  • Para todas las versiones de SQL Server 2000 después de SQL Server 2000 SP2, la revisión de seguridad descritos en el Microsoft Security Bulletin MS02-061 instalado, el código no se ejecuta correctamente.
  • Para las versiones de SQL Server 2000 8.00.0769 y más tarde, cuando utiliza el indicador de traza - T220 o DBCC traceon (220), el código se ejecuta correctamente.
Tenga en cuenta también que la instrucción SELECT no le otorga el mismo resultado.
  • Para versiones de SQL Server 2000 antes de SQL Server 2000 SP2, con la revisión de seguridad descritos en el Microsoft Security Bulletin MS02-061 instalado o posterior 8.00.0769 con indicador de traza 220, el resultado es similar a:

    CODE        DESCRIPTION                                        DESCRIPTION_DEF                                    
    ----------- -------------------------------------------------- -------------------------------------------------- 
    1           NULL                                               DEFAULT
    
    
  • Para versiones de SQL Server 2000 después de SQL Server 2000 SP2, con la revisión de seguridad descritos en el Microsoft Security Bulletin MS02-061 instalado, el resultado es similar a:

    CODE        DESCRIPTION                                        DESCRIPTION_DEF                                    
    ----------- -------------------------------------------------- -------------------------------------------------- 
    1           NULL                                               NULL
    

Propiedades

Id. de artículo: 814893 - Última revisión: miércoles, 26 de febrero de 2014 - Versión: 4.2
La información de este artículo se refiere a:
  • Service Pack 3 de Microsoft SQL Server 2000
Palabras clave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB814893 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): 814893

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