Microsoft distribuye las soluciones Microsoft SQL Server 2008 Service Pack 3 (SP3) o Microsoft SQL Server 2008 R2 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 actualizaciones de seguridad incluidas en la versión anterior de SQL Server 2008 SP3 o SQL Server 2008 R2.
Síntomas
Imagine la siguiente situación:
-
Cree particiones para una tabla en SQL Server 2008 o en SQL Server 2008 R2.
-
No se habilita 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 se registra el error siguiente 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 Este problema también se produce en Microsoft SQL Server 2008 R2.
Resolución
Información sobre la actualización acumulativa
Service Pack 2 de SQL Server 2008
La corrección para este problema se publicó por primera vez en la actualización acumulativa 8 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:
2648096 Paquete de actualización acumulativa 8 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.
SQL Server 2008 R2
La corrección para este problema se publicó por primera vez en la actualización acumulativa 11. 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:
2633145 Paquete de actualización acumulativa 11 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 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
Service Pack 3 de SQL Server 2008
La corrección para este problema se publicó por primera vez en el paquete de actualización acumulativa 2 para SQL Server 2008 Service Pack 3. Para obtener más información sobre 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:
2633143 Paquete de actualización acumulativa 2 para SQL Server 2008 Service Pack 3Nota Como las compilaciones son acumulativas, cada nueva versión de actualización contiene todas las revisiones y todas las actualizaciones de seguridad que se incluían en la versión anterior de actualización de SQL Server 2008 Service Pack 3. Le recomendamos que considere aplicar la versión de actualización más reciente que contiene 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:
2629969 Las compilaciones de SQL Server 2008 que se lanzaron después de que se publicó SQL Server 2008 Service Pack 3
Más información
Para confirmar si está experimentando el problema descrito en este artículo de Knowledge base, siga estos pasos:
-
Abra una conexión de DAC a SQL Server y ejecute la consulta siguiente:
Use <your_db_name>select * from sys.sysrscols rsc where rsc.rsid in ( select sau.container_idfrom sys.system_internals_allocation_units sau join sys.partitions pt on sau.container_id = pt.partition_idand 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 la tabla de particiones.
-
En el resultado de la consulta, compruebe si la columna rscolid contiene un valor grande. Este es un ejemplo de un valor tan grande:
rsid
rscolid
hbcolid
rcmodified
inteligencia
Cid
ordkey m
72057594380091392
0
1
614911578
56
0
cuatro
72057594380091392
once
13
614911578
12967
53265
0
72057594380091392
2007
n°
614911578
32999
53265
0
72057594380091392
13
4,5
614911578
32999
53265
0
72057594380091392
n°
apartado
614911578
59
0
0
72057594380091392
4,5
apartado
614911578
59
0
0
72057594380091392
apartado
18
614911578
1834
0
0
72057594380091392
67108865
19
614911578
19627
53625
0
72057594380091392
23
,23
614911578
56
0
0
72057594380091392
,23
veinticuatro
614911578
10407
53625
0
72057594380091392
veinticuatro
veinticinco
614911578
662636
0
0
En este ejemplo, el valor de 67108865 es significativamente mayor que el de otros. Esto indica que está experimentando el problema que se describe en este artículo de Knowledge base.
Para solucionar este problema, vuelva a crear las particiones afectadas. Póngase en contacto con el soporte técnico de Microsoft para averiguar qué particiones intervienen. O bien, puede reconstruir todas las particiones con la siguiente consulta:
ALTER INDEX <your_table_index>ON <your_table_name>REBUILD Partition = allGO
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".