Sintomi
Considerare lo scenario descritto di seguito:
-
Si esegue una procedura in Microsoft SQL Server 2014 o SQL Server 2012.
-
La procedura contiene una query con le condizioni seguenti:
-
Si unisce a una tabella aggiornata molto spesso.
-
Include una clausola WHERE che contiene parametri.
-
Usa l'opzione (ricompilare).
-
-
Questa procedura viene eseguita su più connessioni simultanee con set di valori di parametro diversi.
-
Il server è sottoposto a un carico gravoso che causa la creazione di più tempo del normale per ognuna di queste procedure.
In questo scenario, potresti ricevere risultati non corretti dalla procedura che viene eseguita sulla connessione se vengono soddisfatte le condizioni aggiuntive seguenti durante l'intervallo di tempo che si verifica tra la fine della compilazione della query e l'inizio dell'esecuzione della query nella connessione:
-
Condizione 1: un'altra connessione simultanea consente di aggiornare la tabella unita che è abbastanza grande da innescare un'altra ricompilazione della query sulla connessione.
-
Condizione 2: la stessa query è stata ricompilata da un'altra connessione e quindi inserita nella cache.
Importante Questo problema di temporizzazione è estremamente raro.
Causa
Questo problema si verifica perché i valori dei parametri per la query vengono modificati in valori non corretti dopo l'esecuzione della query sulla connessione. Ciò si verifica a causa di un problema di temporizzazione estremamente raro che esiste tra compilazioni simultanee.
Risoluzione
Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 4 per SQL Server 2014 /en-us/help/2999197
Aggiornamento cumulativo 2 per SQL Server 2012 SP2 /en-us/help/2983175
Aggiornamento cumulativo 11 per SQL Server 2012 SP1 /en-us/help/2975396
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".