Síntomas
Suponga que tiene una tabla que tiene un desencadenador DML en Microsoft SQL Server 2008 R2, SQL Server 2012 o SQL Server 2014 y en el desencadenador que se une a una tabla insertada o eliminada con otras tablas. Cuando ejecuta una instrucción DML en esta tabla, se puede producir una infracción de acceso durante la compilación del desencadenador y recibe el siguiente error:
Se ha producido un error grave en el comando actual. Los resultados, si los hay, se deben descartar.
Además, los siguientes errores se registran en el registro de errores de SQL Server:
<fecha><tiempo> SPID # * * * el volcado de la pila se envía a <FilePath>\SQLDumpxxx.txt<Date><Time> SPID # SqlDumpExceptionHandler: error grave generado por proceso # c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server está finalizando este proceso.<fecha><hora> SPID # * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * {SPID # * inicio de la pila:>><<><<><2 fecha><hora><5 SPID # * ><6 date><Time><9 de SPID #><0 fecha>< hora><3 SPID # * excepción dirección = 00000000009E4F2A Module (sqlservr + 00000000002D4F2A)><4 de tiempo>< de SPID # * Exception Address = Module (sqlservr +)><7 fecha><hora> SPID # * código de excepción = c0000005 EXCEPTION_ACCESS_VIOLATION<date><time> SPID # * error en la infracción de acceso al escribir la dirección 0000000000000000<Date><Time> SPID # * 510 bytes:<Time><Date> SPID # * SQL_query_code
Resolución
El problema se solucionó por primera vez en la siguiente actualización acumulativa de SQL Server.
Actualización acumulativa 1 para SQL Server 2012 SP2 /en-us/help/2976982
Actualización acumulativa 2 para SQL Server 2014 /en-us/help/2967546
Actualización acumulativa 10 para SQL Server 2012 SP1 /en-us/help/2954099
Actualización acumulativa 12 para SQL Server 2008 R2 SP2 /en-us/help/2938478
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:
Solución alternativa
Para solucionar el problema, no use directamente la tabla insertada o eliminada en una consulta que se une con otras tablas, sino que la almacene en la caché en una tabla temporal y use la tabla temporal en la consulta.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".