Sintomi
Si supponga di usare la funzione substring (espressione, inizio, lunghezza) in Microsoft SQL Server 2012 Service Pack 1 (SP1) cumulativo Update 1 (CU1) e versioni successive o SQL Server 2014. Quando la lunghezza di Expression è maggiore di 8000 e Start è maggiore della lunghezza di Expression, si verifica una violazione di Access. Viene inoltre visualizzato il seguente messaggio di errore:
Si è verificato un grave errore nel comando corrente. I risultati, se presenti, devono essere eliminati.
Risoluzione
Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server. Dopo l'applicazione dell'hotfix, viene restituita un'espressione di lunghezza zero quando Start è maggiore del numero di caratteri nell'espressione Value.
Aggiornamento cumulativo 1 per SQL Server 2012 SP2 /en-us/help/2976982
Aggiornamento cumulativo 2 per SQL Server 2014 /en-us/help/2967546
Aggiornamento cumulativo 10 per SQL Server 2012 SP1 /en-us/help/2954099
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".