Síntomas
Imagine la siguiente situación:
-
Tiene una tabla FileStream muy grande.
-
Ejecute una consulta de eliminación de las filas de la tabla FileStream que crea un plan de consulta caro, como el filtrado por una combinación interna en otra tabla grande del sistema.
-
El optimizador de consultas elige un plan de ejecución paralelo.
En este escenario,se producirá un ssertion y puede recibir mensajes de error similares a los siguientes en el registro de errores de SQL Server:
DateTime SPID SpidNumber error: 5553, gravedad: 20, estado: 6.
Error de DateTime SPID SpidNumber SQL Server. El administrador de FILESTREAM no puede continuar con el comando actual.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Resolución
El problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:
Acerca de las actualizaciones acumulativas de SQL Server:
Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas con el anterior actualización acumulativa. Consulte las últimas actualizaciones acumulativas para SQL Server:
Solución alternativa
To solucionar este problema,la unidad organizativa y puede usar el método siguiente:
Mueva la consulta INNER JOIN a una instrucción independiente y guarde los resultados en una tabla temporal. A continuación, ejecute la consulta de eliminación que está filtrada por las entradas de la tabla temporal. Además, puede aumentar el umbral de costo para el paralelismo para obligar al optimizador a serializar el plan de consulta.
Por ejemplo:
Seleccione RefTable. alias en #T de BD. DBO. OuterTable INNER JOIN DB. DBO. RefTable ON RefTable. alias = OuterTable. alias
DONDE OuterTable. alias > 30006 y OuterTable. alias < 30010
ELIMINAR de BD. DBO. Table Ubicación del alias (SELECT * FROM #T)
Referencias
Más información sobre la terminología que Microsoft usa para describir las actualizaciones de software.