KB2498796: se puede producir una violación de acceso al actualizar las estadísticas de una tabla después de habilitar y deshabilitar la detección de conflictos en una tabla de SQL Server 2008 o SQL Server 2008 R2

Microsoft distribuye las soluciones Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2008 como un archivo que se puede descargar. Debido a que las correcciones son acumulativas, cada versión nueva contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de SQL Server 2008 R2 o de SQL Server 2008.

Síntomas

Imagine la siguiente situación:

  • Instala Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2008 en un equipo.

  • Puede configurar la replicación transaccional punto a punto y, a continuación, habilitar la detección de conflictos en una tabla.

  • Más adelante, deshabilita la detección de conflictos para la replicación transaccional de punto a punto.

  • Actualice las estadísticas de la tabla.

En este escenario, se produce un error en la actualización y recibe el siguiente mensaje de error:

Mensaje 0, nivel 11, estado 0, línea 0A se produjo un error grave en el comando actual. Los resultados, si los hay, se deben descartar.

Además, se produce una excepción de infracción de acceso, y se genera un archivo de volcado parcial en la carpeta registro de errores de SQL Server.

Causa

Este problema se produce porque el motor de base de datos está intentando cargar estadísticas pendientes. Cuando se habilita la detección de conflictos P2P, se agrega una columna del sistema MDColumnIdP2pCdId al conjunto de filas de índice base de la tabla. Las consultas relacionadas con la replicación pueden crear estadísticas en la columna del sistema automáticamente. Cuando la detección de conflictos P2P está deshabilitada, la columna del sistema se quita de la tabla. Sin embargo, las estadísticas correspondientes permanecen. Por lo tanto, la actualización de estadísticas provoca la excepción de infracción de acceso porque las estadísticas no se pueden agregar a la tabla.

Resolución

Información sobre la actualización acumulativa

Service Pack 1 de SQL Server 2008 R2

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

2633146 Paquete de actualización acumulativa 4 para SQL Server 2008 R2 Service Pack 1Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2008 R2. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2567616 Las compilaciones de SQL Server 2008 R2 que se publicaron después de que se publicó SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

La corrección para este problema se publicó por primera vez en la actualización acumulativa 9. Para obtener más información sobre 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:

2567713 Paquete de actualización acumulativa 9 para SQL Server 2008 R2 Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2008 R2. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

981356 Las compilaciones de SQL Server 2008 R2 que se lanzaron después de publicar SQL Server 2008 R2

Service Pack 2 de SQL Server 2008

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 actualización acumulativa, 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 Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2008. Microsoft recomienda que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea 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 lanzaron después de que se publicó SQL Server 2008 Service Pack 2 Los Hotfix 2008 de Microsoft SQL Server se crean para determinados Service Packs de SQL Server. 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 Hotfix proporcionado en un Service Pack de SQL Server se incluye en el siguiente Service Pack de SQL Server.La corrección para este problema se publicó por primera vez en el paquete de actualización acumulativa 6 para SQL Server 2008 R2. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

2489376 Paquete de actualización acumulativa 6 para SQL Server 2008 R2Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las revisiones de seguridad incluidas en la versión anterior de corrección de SQL Server 2008 R2. Le recomendamos que considere la posibilidad de aplicar la versión de corrección más reciente que contenga este Hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

981356 Las compilaciones de SQL Server 2008 R2 que se lanzaron después de publicar SQL Server 2008 R2

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".

Más información

Para obtener más información acerca de cómo configurar y mantener una topología de replicación de punto a punto con el Asistente para configurar una topología de punto a punto, visite el siguiente sitio web de Microsoft Developer Network (MSDN):

Cómo: configurar la replicación transaccional de par a par (SQL Server Management Studio)Para obtener más información acerca de la detección de conflictos, visite el siguiente sitio web de MSDN:

Detección de conflictos en la replicación de punto a puntoPara obtener más información acerca de la terminología de actualizaciones de software, 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 utilizada para describir las actualizaciones de software de Microsoft

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×