FIX: Possibilità di rari dei risultati non corretti quando si utilizza Option(Recompile) per le query all'interno di una routine 2014 di SQL Server o SQL Server 2012

Sintomi

Si consideri lo scenario seguente:

  • Si esegue una routine in 2014 di Microsoft SQL Server o SQL Server 2012.

  • La routine contiene una query ha le seguenti condizioni:

    • Si unisce una tabella che viene aggiornata molto di frequente.

    • Ha una clausola WHERE che contiene i parametri.

    • Utilizza Option(Recompile).

  • Questa procedura viene eseguita su più connessioni simultanee che dispongono di diversi insiemi di valori di parametro.

  • Il server è sovraccarico che provoca ciascuna di queste procedure per richiedere più tempo del normale.

In questo scenario, che si ottengano risultati non corretti dalla routine che viene eseguita per la connessione, se vengono soddisfatte le seguenti condizioni aggiuntive durante l'intervallo di tempo che si verifica tra la fine della compilazione di query e l'inizio dell'esecuzione della query per la connessione:

  • Condizione 1: un'altra connessione simultanea rende gli aggiornamenti per la tabella unita di dimensioni sufficienti per attivare un'altra ricompilazione della query per la connessione.

  • Condizione 2: la stessa query è stata ricompilata da un'altra connessione e quindi inserire nella cache.

Importante Questo problema di temporizzazione è estremamente raro.

Causa

Questo problema si verifica perché i valori dei parametri della query vengono modificate in valori non corretti dopo aver eseguito la query per la connessione. Ciò si verifica a causa di un problema di temporizzazione estremamente raro che esiste tra le compilazioni simultanee.

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutte le correzioni di protezione che sono state incluse nell'aggiornamento cumulativo precedente. Estrarre gli ultimi aggiornamenti cumulativi per SQL Server:


Stato

Microsoft ha confermato che questo è un problema dei prodotti Microsoft elencati nella sezione "Si applica a".

Serve aiuto?

Amplia le tue competenze
Esplora i corsi di formazione
Ottieni in anticipo le nuove caratteristiche
Partecipa a Microsoft Insider

Queste informazioni sono risultate utili?

Grazie per il feedback!

Grazie per il tuo feedback! Potrebbe essere utile metterti in contatto con uno dei nostri operatori del supporto di Office.

×