KB2504090 - CORRECCIÓN: Infracción de acceso o resultado incorrecto al insertar datos o actualizar una nueva partición de una tabla con particiones en SQL Server 2008 R2, SQL Server 2012 o SQL Server 2008

Se aplica a
SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Express SQL Server 2008 R2 Standard SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 Web SQL Server 2008 Standard SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Express SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2012 Enterprise Core

Microsoft distribuye las correcciones de Microsoft SQL Server 2008 R2 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 SQL Server 2008 R2.

Síntomas

Tenga en cuenta las situaciones siguientes:

Escenario 1

  • Quita una columna de una tabla particionada en Microsoft SQL Server 2008 R2, Microsoft SQL Server 2012 o Microsoft SQL Server 2008.
  • Crea una nueva partición para la tabla.
  • Intenta insertar datos en la nueva partición de la tabla.
  • Cambia las particiones de la tabla.
  • Intenta insertar datos en la nueva partición de la tabla.

En este escenario, puede producirse una infracción de acceso. Además, aparece un mensaje de error similar al siguiente:

Nota

Se ha producido un error grave en el comando actual. Los resultados, si los hay, deben descartarse.

          

Escenario 2

  • Tiene una tabla dividida en SQL Server 2008 R2, SQL Server 2012 o SQL Server 2008.
  • Cambia el tipo de compresión de una partición.
  • Intenta actualizar la partición o insertar datos en ella.

En este escenario, puede producirse una infracción de acceso. Además, aparece un mensaje de error similar al siguiente:

Nota

Se ha producido un error grave en el comando actual. Los resultados, si los hay, deben descartarse.

          

Causa

Este problema se produce porque el descriptor de acceso que utiliza SQL Server para insertar datos en diferentes particiones reconoce los cambios de metadatos incorrectamente. Cuando se insertan datos en la nueva partición que se crea después de quitar una columna, el número máximo de columnas que aceptan valores NULL en la nueva partición puede ser uno menos que el número de columnas que pueden anular el máximo en la partición anterior.

Resolución

Información sobre la actualización acumulativa

Actualización acumulativa 4 para SQL Server 2012 SP1

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

2833645 Actualización acumulativa 4 para SQL Server 2012 SP1Nota: 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 2012 SP1. Recomendamos que se plantee la posibilidad de aplicar la versión de corrección más reciente que contiene 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:

2772858 Compilaciones de SQL Server 2012 que se publicaron después de SQL Server 2012 Service Pack 1

Actualización acumulativa 6 para SQL Server 2008 R2 Service Pack 2

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

2830140 paquete de actualización acumulativa 6 para SQL Server 2008 R2 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 R2 Service Pack 2. Recomendamos que se plantee la posibilidad de aplicar la versión de corrección más reciente que contiene 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:

2730301 Compilaciones de SQL Server 2008 R2 que se publicaron después de SQL Server 2008 R2 Service Pack 2

Actualización acumulativa 7 para SQL Server 2012

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

2823247 paquete de actualización acumulativa 7 para SQL Server 2012Nota 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 2012. Recomendamos que se plantee la posibilidad de aplicar la versión de corrección más reciente que contiene 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:

2692828 Compilaciones de SQL Server 2012 que se publicaron después de SQL Server de 2012

Actualización acumulativa 12 para SQL Server 2008 R2 Service Pack 1

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

2828727 paquete de actualización acumulativa 12 para SQL Server 2008 R2 Service Pack 1Nota Dado que las compilaciones son acumulativas, cada nueva versión de 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 R2 Service Pack 1. Recomendamos que se plantee la posibilidad de aplicar la versión de corrección más reciente que contiene 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:

2567616 Compilaciones de SQL Server 2008 R2 que se publicaron después de SQL Server 2008 R2 Service Pack 1

Actualización acumulativa 10 para SQL Server 2008 Service Pack 3

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

2814783 paquete de actualización acumulativa 10 para SQL Server 2008 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 anterior de SQL Server 2008 Service Pack 3. Recomendamos que se plantee la posibilidad de aplicar la versión de corrección más reciente que contiene 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:

2629969 Compilaciones de SQL Server 2008 que se publicaron después de SQL Server 2008 Service Pack 3

SQL Server 2008 R2 Service Pack 1

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

2756574 paquete de actualización acumulativa 9 para SQL Server 2008 R2 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 R2 Service Pack 1. Recomendamos que se plantee la posibilidad de aplicar la versión de corrección más reciente que contiene 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:

2567616 Compilaciones de SQL Server 2008 R2 que se publicaron después de SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

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

2507770 paquete de actualización acumulativa 7 para SQL Server 2008 R2 Nota 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 R2. Recomendamos que se plantee la posibilidad de aplicar la versión de corrección más reciente que contiene 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:

981356 Compilaciones de SQL Server 2008 R2 que se publicaron después de SQL Server 2008 R2

Información del Service Pack para SQL Server 2008 R2

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

2527041 Cómo obtener la versión más reciente del Service Pack para SQL Server 2008 R2

Solución alternativa

Para solucionar este problema, vuelva a generar todas las particiones de la tabla con particiones después de quitar una de las columnas de la tabla.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".
Este problema se corrigió por primera vez en SQL Server 2008 R2 Service Pack 1.

Más información

Para obtener más información sobre cómo crear tablas e índices comprimidos, visite el siguiente sitio web de MSDN:

Compresión de datos