REVISIÓN: Una operación de inserción para una tabla temporal que tiene una restricción foreign key falla cuando el plan de ejecución para la instrucción INSERT contiene una operación de combinación de mezcla en SQL Server 2005

Seleccione idioma Seleccione idioma
Id. de artículo: 977100 - Ver los productos a los que se aplica este artículo
Microsoft distribuye correcciones de Microsoft SQL Server 2005 como un archivo que se puede descargar. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2005.
Expandir todo | Contraer todo

Síntomas

Tenga en cuenta la situación siguiente:
  • En Microsoft SQL Server 2005, tiene una tabla que tiene una restricción foreign key.
  • Ejecutar una instrucción INSERT para insertar el número de filas en esta tabla.
  • El plan de ejecución para la instrucción INSERT contiene una operación de combinación de mezcla.
En este escenario, puede fallar la operación de inserción. Además, recibe el siguiente mensaje de error:
Error: 547, gravedad: 16, estado: 0
La instrucción INSERT están en conflicto con la restricción FOREIGN KEY "< clave externa >".
Se produjo el conflicto en la base de datos "< nombre de base de datos >", "< nombre de tabla >" de la tabla, columna '< nombre de columna >'

Causa

La operación de combinación de mezcla espera recibir las filas que se ordenan de acuerdo con las columnas de combinación. Sin embargo, en la situación que se menciona en la sección "Síntomas", la operación de combinación de mezcla no recibe las filas insertadas en el orden correcto. Este problema se produce porque el plan de ejecución lee las nuevas filas de un índice cuyas claves se corresponden con las columnas de combinación. Sin embargo, SQL Server lee el índice en orden de asignación en lugar de en orden de clave.

Solución

La corrección para este problema se publicó por primera vez en la actualización acumulativa 7 para SQL Server 2005 Service Pack 3. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
976951Paquete de actualización acumulativa 7 para SQL Server 2005 Service Pack 3
Nota Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2005. Microsoft recomienda que considere aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
960598Compilaciones de SQL Server 2005 lanzadas después del lanzamiento de SQL Server 2005 Service Pack 3
Microsoft SQL Server 2005 las revisiones se crean para determinados service Pack de SQL Server. Debe aplicar una revisión de SQL Server 2005 Service Pack 3 a una instalación de SQL Server 2005 Service Pack 3. De forma predeterminada, cualquier revisión suministrada en un service pack de SQL Server se incluye en el siguiente service pack.

Solución

Para evitar este problema, utilice uno de los métodos siguientes.

Método 1

Aplicar una sugerencia de consulta LOOP JOIN para deshabilitar la operación de combinación de mezcla.

Método 2

Agregue una cláusula ORDER BY explícita para ordenar filas en las columnas de clave del índice que está digitalizando.

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

Después de aplicar la revisión, se leerá el índice en orden de clave.

Referencias

Para obtener más información sobre el modelo de servicio incremental para SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935897Un modelo incremental de servicio está disponible desde el equipo de SQL Server para entregar revisiones para problemas detectados
Para obtener más información acerca de cómo obtener SQL Server 2005 Service Pack 3, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
913089Cómo obtener el service pack más reciente para SQL Server 2005
Para obtener más información acerca de las nuevas características y mejoras en SQL Server 2005 Service Pack 3, visite el siguiente sitio Web:
http://go.microsoft.com/fwlink/?LinkId=131442
Para obtener más información acerca del esquema de nomenclatura para las actualizaciones de SQL Server, 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 de software de Microsoft SQL Server
Para obtener más información acerca de la terminología relativa a las actualizaciones de software, 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: 977100 - Última revisión: jueves, 24 de diciembre de 2009 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Palabras clave: 
kbmt kbexpertiseadvanced kbsurveynew kbqfe kbfix KB977100 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): 977100

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