Síntomas
Tenga en cuenta el siguiente escenario:
- Suponga que tiene tablas con particiones en Microsoft SQL Server y forman parte de Change Data Captura (CDC) o Transactional Replication. Puede cambiar la partición o la partición de salida de estas tablas.
- Después del cambio de partición al realizar operaciones de Lenguaje de manipulación de datos (DML), es posible que observe que se produce un EXCEPTION_ACCESS_VIOLATION y se genera un archivo de volcado de memoria.
Nota
Fecha y hora ***Volcado de pila que se envía a FilePath\FileName
Fecha y hora SqlDumpExceptionHandler: Process ProcessID generó la excepción fatal c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server está terminando este proceso.
Fecha y hora * *******************************************************************************
Fecha y hora *
Fecha y hora * BEGIN STACK DUMP:
Fecha y hora *
Fecha y hora *
Fecha y hora *
Fecha y hora *
Fecha y hora * Dirección de excepción = 000007FEE724BD80 Module(sqllang+00000000015BBD80)
Fecha y hora * Código de excepción = c0000005 EXCEPTION_ACCESS_VIOLATION
Fecha y hora * Se produjo una infracción de acceso al 000000000000002A de dirección de lectura
Fecha y hora * Búfer de entrada 70 bytes
Fecha y hora * sys.sp_MScdc_capture_job
Fecha y hora *
Nota
Fecha y hora ***Volcado de pila que se envía a FilePath\FileName
Fecha y hora SqlDumpExceptionHandler: Process PID generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server está terminando este proceso.
Fecha y hora * *******************************************************************************
Fecha y hora *
Fecha y hora * BEGIN STACK DUMP:
Fecha y hora * Fecha y horaPID
Fecha y hora *
Fecha y hora *
Fecha y hora * Dirección de excepción = 000007FEE9D26640 Module(sqllang+0000000001586640)
Fecha y hora * Código de excepción = c0000005 EXCEPTION_ACCESS_VIOLATION
Fecha y hora * Se produjo una infracción de acceso al 000000000000002A de dirección de lectura
Fecha y hora * Búfer de entrada 109 bytes -
Fecha y hora * 16 00 00 00 12 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00
Fecha y hora * s p _ r e p 01 00 00 00 0b 00 73 00 70 00 5f 00 72 00 65 00 70 00
Fecha y hora * l c m d s & ô 6c 00 63 00 6d 00 64 00 73 00 00 00 00 00 00 26 04 04 f4
Fecha y hora * & & ÿ 01 00 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 ff
Fecha y hora * ÿÿÿ ¥ & ff ff ff 00 00 a5 0a 00 00 00 00 00 00 26 04 04 8f 13 00
Fecha y hora * & & ! 00 00 00 26 04 04 00 00 00 00 00 00 00 26 04 04 20 a1 07
Fecha y hora * 00
- Si ejecuta la consulta siguiente en la tabla de destino, es posible que observe que el valor de la columna is_replicated se marcará como "1" para el índice no agrupado que no es correcto.
select index_id, partition_number,* from sys.system_internals_partition_columns pc with(nolock)
JOIN sys.partitions p with(nolock)
ON p.partition_id = pc.partition_id
where p.object_id = object_id ('PartitionTable')
order by 2
Resolución
Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:
Actualización acumulativa 1 para SQL Server 2017
Actualización acumulativa 5 para SQL Server 2016 SP1
Actualización acumulativa 8 para SQL Server 2014 SP2
Acerca de las actualizaciones acumulativas para SQL Server:
Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Echa un vistazo a las últimas actualizaciones acumulativas de SQL Server:
Actualización acumulativa más reciente de SQL Server 2017
Actualización acumulativa más reciente de SQL Server 2016
Actualización acumulativa más reciente de SQL Server 2014
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
Obtenga información sobre la terminología que usa Microsoft para describir las actualizaciones de software.