KB2950209 - FIX: Violazione di accesso quando l'offset iniziale è maggiore della lunghezza della stringa nella funzione Substring in SQL Server

Si applica a
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Sintomi

Si supponga di usare la funzione Substring (espressione, inizio, lunghezza) in Microsoft SQL Server 2012 Service Pack 1 (SP1) aggiornamento cumulativo 1 (CU1) e versioni successive o SQL Server 2014. Quando la lunghezza dell'espressione è maggiore di 8000 e start è maggiore della lunghezza dell'espressione, si verifica una violazione di accesso. Viene anche visualizzato l'errore seguente:

Nota

Si è verificato un errore grave nel comando corrente. I risultati, se presenti, devono essere scartati.

Risoluzione

Il problema è stato risolto per la prima volta nell'aggiornamento cumulativo seguente di SQL Server.
Dopo l'applicazione dell'aggiornamento rapido (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 /it-IT/help/2976982

Aggiornamento cumulativo 2 per SQL Server 2014 /it-it/help/2967546

Aggiornamento cumulativo 10 per SQL Server 2012 SP1 /it-it/help/2954099

Informazioni sugli aggiornamenti cumulativi per SQL Server

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutte le correzioni rapide e di sicurezza incluse nell'aggiornamento cumulativo precedente. Vedere gli aggiornamenti cumulativi più recenti per SQL Server:

      

Stato

Microsoft ha confermato che si tratta di un problema relativo ai prodotti elencati nella sezione "Si applica a".