REVISIÓN: Infracción de acceso cuando se inserta un registro en una nueva partición vacía en 2008 de SQL Server o SQL Server 2008 R2

Seleccione idioma Seleccione idioma
Id. de artículo: 2629456 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Microsoft distribuye Microsoft SQL Server 2008 Service Pack 3 (SP3) o Microsoft SQL Server 2008 R2 corrige como un archivo descargable. Dado que las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y publicación de la actualización de todas las actualizaciones de seguridad que se incluyeron con la anterior SQL Server 2008 Service Pack 3 o SQL Server 2008 R2.

Síntomas

Tenga en cuenta la situación siguiente:
  • Crear particiones para una tabla en 2008 de SQL Server o SQL Server 2008 R2.
  • No habilitar la compresión en todas las particiones.
  • Intenta insertar un registro en una nueva partición vacía.
En este escenario, se produce una infracción de acceso y el siguiente error se registra en el registro de errores de SQL Server:
<Date> <Time> spid##      ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\LOG\SQLDump0001.txt

<Date> <Time> spid##      SqlDumpExceptionHandler: Process 66 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.

<Date> <Time> spid##      * BEGIN STACK DUMP:

<Date> <Time> spid##      *  Exception Address = 0000000000C37D22 Module(sqlservr+0000000000137D22)

<Date> <Time> spid##      *  Exception Code    = c0000005 EXCEPTION_ACCESS_VIOLATION

<Date> <Time> spid##      *  Access Violation occurred reading address 0000000000000020
Nota Esto también ocurre en Microsoft SQL Server 2008 R2.

Solución

Información sobre la actualización acumulativa

SQL Server 2008 Service Pack 2

La corrección para este problema en primer lugar se publicó en 8 de actualización acumulativa para Service Pack 2 de SQL Server de 2008. 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:
2648096 Paquete de actualización acumulativa 8 para SQL Server 2008 Service Pack 2
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior SQL Server de 2008. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión 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 Se basa el 2008 SQL Server que se publicaron después del lanzamiento de Service Pack 2 de SQL Server de 2008
Las revisiones de Microsoft SQL Server 2008 se crean para determinados SQL Server service Pack. Debe aplicar una revisión de SQL Server 2008 Service Pack 2 para una instalación de Service Pack 2 de SQL Server de 2008. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el siguiente service pack de SQL Server.

SQL Server 2008 R2

La solución a este problema se publicó en primer lugar en 11 acumulativo de actualización. 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:
2633145 Paquete de actualización acumulativa 11 para SQL Server 2008 R2
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior SQL Server 2008 R2. Le recomendamos que considere la posibilidad de aplicar la versión más reciente de revisión 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:
981356 SQL Server 2008 R2 generaciones que se publicaron después del lanzamiento de SQL Server 2008 R2

SQL Server 2008 R2 Service Pack 1

La solución a este problema se lanzó en primer lugar 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 1
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior SQL Server 2008 R2. Le recomendamos que considere la posibilidad de aplicar la versión más reciente de revisión 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:
2567616 SQL Server 2008 R2 generaciones que se publicaron después del lanzamiento de SQL Server 2008 R2 Service Pack 1

SQL Server 2008 Service Pack 3

La solución a este problema se lanzó en primer lugar en el paquete de actualización acumulativa 2 para SQL Server 2008 Service Pack 3. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para Service Pack 3 de SQL Server de 2008, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2633143 Paquete de actualización acumulativa 2 para SQL Server 2008 Service Pack 3
Nota Como las compilaciones son acumulativas, cada nueva versión de actualización contiene todas las revisiones y publicación de la actualización de todas las actualizaciones de seguridad que se incluye con el anterior SQL Server 2008 Service Pack 3. Le recomendamos que considere la posibilidad de aplicar la versión más reciente de actualización 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:
2629969 Se basa el 2008 SQL Server que se publicaron después del lanzamiento de Service Pack 3 de SQL Server de 2008

Más información

Para confirmar si está experimentando el problema que se describe en este artículo de knowledge base, siga estos pasos:
  1. Abrir una conexión DAC a SQL Server y ejecute la siguiente consulta:
    Use <your_db_name>
    
    select * from sys.sysrscols rsc where rsc.rsid in 
    
    ( select sau.container_id
    
    from sys.system_internals_allocation_units sau 
    
    join sys.partitions pt 
    
    on sau.container_id = pt.partition_id
    
    and pt.object_id = object_id(<YourPartitionedTable>) 
    
    and pt.index_id = 1)
    Nota En esta consulta, <YourPartitionedTable>es un marcador de posición para el nombre de tabla de partición.</YourPartitionedTable>
  2. En el resultado de la consulta, compruebe si el rscolid columna contiene un valor grande. El siguiente es un ejemplo de un valor tan grande:
    Contraer esta tablaAmpliar esta tabla
    rsId rscolid hbcolid rcmodified TI CID ordkey m
    72057594380091392 016149115785604
    72057594380091392111361491157812967532650
    72057594380091392121461491157832999532650
    72057594380091392 131561491157832999532650
    72057594380091392 14166149115785900
    72057594380091392 15176149115785900
    72057594380091392 1718614911578183400
    72057594380091392 671088651961491157819627536250
    72057594380091392 22236149115785600
    72057594380091392 232461491157810407536250
    72057594380091392 242561491157866263600
En este ejemplo, el valor de 67108865 es significativamente mayor que otros usuarios. Esto indica que está experimentando el problema que se describe en este artículo de knowledge base.

Solución

Para evitar este problema, vuelva a generar las particiones afectadas. Póngase en contacto con el soporte técnico de Microsoft para averiguar qué particiones están involucrados. O bien, puede volver a generar todas las particiones mediante la consulta siguiente:
ALTER INDEX <your_table_index>

ON <your_table_name>

REBUILD Partition = all

GO

Estado

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

Propiedades

Id. de artículo: 2629456 - Última revisión: lunes, 16 de enero de 2012 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
Palabras clave: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2629456 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): 2629456

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