KB2490920 - CORRECCIÓN: Error "Msg 2601, Nivel 14, Estado 1, Línea 1 No se puede insertar una fila de claves duplicada" al ejecutar la instrucción ALTER PARTITION FUNCTION para dividir o combinar un intervalo de particiones en SQL Server 2005 o en SQL Server 2008

Se aplica a
Microsoft SQL Server 2005 Enterprise Edition Microsoft SQL Server 2005 Developer Edition Microsoft SQL Server 2005 Standard Edition Microsoft SQL Server 2005 Workgroup Edition SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Workgroup

Microsoft distribuye las correcciones de Microsoft SQL Server 2005 o Microsoft SQL Server 2008 como un archivo descargable. Dado que las correcciones son acumulativas, cada nueva versión contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión anterior de corrección de Microsoft SQL Server 2005 o Microsoft SQL Server 2008

Síntomas

Tenga en cuenta el siguiente escenario:

  • Instala una instancia de Microsoft SQL Server 2005 o SQL 2008 en un equipo.
  • Crea una tabla con particiones que contiene un índice no agrupado que no está alineado.
  • Ejecute la instrucción ALTER PARTITION FUNCTION para dividir o combinar un intervalo de particiones de la tabla particionada.

En esta situación, recibe periódicamente los siguientes mensajes de error:

Nota

Msj 2601, Nivel 14, Estado 1, Línea 1
No se puede insertar una fila de clave duplicada en el objeto <ObjectName> con un índice <único, UniqueIndexName>.

Causa

Este problema se produce porque se desencadena un error en el optimizador de consultas cuando se divide un intervalo de particiones.

Cuando el plan en tiempo de ejecución elimina e inserta algunas filas del intervalo de particiones afectado en un nuevo intervalo de particiones, se produce una infracción de clave única.

Resolución

Información sobre la actualización acumulativa

SQL Server 2005 Service Pack 3

La corrección para este problema se publicó por primera vez en la actualización acumulativa 15 para SQL Server 2005 Service Pack 3. Para obtener más información acerca de este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2507766 paquete de actualización acumulativa 15 para SQL Server 2005 Service Pack 3Nota Dado que las compilaciones son acumulativas, cada nueva corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2005. Microsoft recomienda que se plantee la posibilidad de aplicar la versión de corrección más reciente que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

960598 Las compilaciones de SQL Server 2005 que se publicaron después de SQL Server 2005 Service Pack 3 Se crean revisiones de Microsoft SQL Server 2005 para Service Pack de SQL Server específicos. 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 que se proporcione en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.

SQL Server 2005 Service Pack 4

La corrección para este problema se publicó por primera vez en la actualización acumulativa 2 para SQL Server 2005 Service Pack 4. Para obtener más información acerca de este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2489409 paquete de actualización acumulativa 2 para SQL Server 2005 Service Pack 4Nota Dado que las compilaciones son acumulativas, cada nueva corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2005. Microsoft recomienda que se plantee la posibilidad de aplicar la versión de corrección más reciente que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2485757 Las compilaciones de SQL Server 2005 que se publicaron después de SQL Server 2005 Service Pack 4 Se crean revisiones de Microsoft SQL Server 2005 para Service Pack de SQL Server específicos. Debe aplicar una revisión de SQL Server 2005 Service Pack 4 a una instalación de SQL Server 2005 Service Pack 4. De forma predeterminada, cualquier revisión que se proporcione en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.

SQL Server 2008 Service Pack 1

La corrección para este problema se publicó por primera vez en la actualización acumulativa 13 para SQL Server 2008 Service Pack 1. Para obtener más información acerca de este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2497673 paquete de actualización acumulativa 13 para SQL Server 2008 Service Pack 1Nota Dado que las compilaciones son acumulativas, cada nueva corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2008. Microsoft recomienda que se plantee la posibilidad de aplicar la versión de corrección más reciente que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

970365 Las compilaciones de SQL Server 2008 que se publicaron después de SQL Server 2008 Service Pack 1 Se crean revisiones de Microsoft SQL Server 2008 para determinados SQL Server Service Pack. Debe aplicar una revisión de SQL Server 2008 Service Pack 1 a una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier revisión que se proporcione en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.

SQL Server 2008 Service Pack 2

La corrección para este problema se publicó por primera vez en la actualización acumulativa 3 para SQL Server 2008 Service Pack 2. Para obtener más información acerca de este paquete de actualizaciones acumulativas, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2498535 paquete de actualización acumulativa 3 para SQL Server 2008 Service Pack 2Nota Dado que las compilaciones son acumulativas, cada nueva corrección contiene todas las revisiones y correcciones de seguridad que se incluyeron con la versión de corrección anterior de SQL Server 2008. Microsoft recomienda que se plantee la posibilidad de aplicar la versión de corrección más reciente que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2402659 Las compilaciones de SQL Server 2008 que se publicaron después de SQL Server 2008 Service Pack 2 Se crean revisiones de Microsoft SQL Server 2008 para SQL Server Service Pack específicos. Debe aplicar una revisión de SQL Server 2008 Service Pack 2 a una instalación de SQL Server 2008 Service Pack 2. De forma predeterminada, cualquier revisión que se proporcione en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.

Estado

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

Referencias

Para obtener más información acerca de la instrucción ALTER PARTITION FUNCTION de Transact-SQL, visite el siguiente sitio web de MSDN:

Información general acerca de la instrucción ALTER PARTITION FUNCTION de Transact-SQL Para obtener más información acerca de las directrices especiales para índices con particiones, visite el siguiente sitio web de MSDN:

Directrices especiales para índices con particiones Para obtener más información acerca del modelo de servicio incremental para SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

935897 Un modelo de servicio incremental está disponible en el equipo de SQL Server para entregar revisiones para problemas detectados

Para obtener más información acerca del esquema de nomenclatura de las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

822499 Nuevo esquema de nomenclatura de los paquetes de actualizaciones de software de Microsoft SQL Server Para obtener más información acerca de la terminología relativa a las actualizaciones de software de Microsoft, 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 que se usa para describir las actualizaciones de software de Microsoft