Síntomas
Suponga que usa la función substring (expresión, Inicio, largo) en Microsoft SQL Server 2012 Service Pack 1 (SP1) Cumulative Update 1 (Cu1) y versiones posteriores o SQL Server 2014. Cuando la longitud de Expression es mayor que 8000 y Start es mayor que la longitud de Expression, se produce una infracción de acceso. Además, recibe el siguiente error:
Se ha producido un error grave en el comando actual. Los resultados, si los hay, se deben descartar.
Resolución
El problema se solucionó por primera vez en la siguiente actualización acumulativa de SQL Server. Después de aplicar la revisión, se devuelve una expresión de longitud cero cuando Start es mayor que el número de caracteres de la expresión Value.
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
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:
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".