KB3150152 - CORREZIONE: il numero stimato di righe viene calcolato in modo non corretto per un predicato che coinvolge una colonna GUID univoca in SQL Server 2014 o 2016

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

Sintomi

Si consideri lo scenario seguente:

  • È disponibile una query che usa un predicato non di uguaglianza in una colonna GUID univoca in SQL Server 2014 o 2016.
  • Le statistiche vengono aggiornate usando il campionamento predefinito. In alternativa, le nuove righe vengono inserite nella tabella dopo l'ultimo aggiornamento delle statistiche.
  • SQL Server usa il nuovo estimatore di cardinalità in cui la modalità di compatibilità del database è impostata su 120.
  • I valori GUID non sono distribuiti uniformemente nella tabella.

In questo scenario, quando si esegue la query, le prestazioni potrebbero risultare ridotte a causa di un numero di righe stimato in modo errato per il predicato nel piano di query.

Risoluzione

Questo problema è stato risolto per la prima volta nell'aggiornamento cumulativo seguente per SQL Server:

Aggiornamento cumulativo 6 per SQL Server 2014 Service Pack 1
        
         Aggiornamento cumulativo 1 per SQL Server 2016
        
        
Dopo aver installato questo pacchetto di aggiornamento cumulativo, è necessario abilitare il contrassegno di traccia 4199. A tale scopo, è possibile aggiungere il parametro di avvio -T4199. In alternativa, è possibile usare l'istruzione dbcc traceon(4199) per una sessione specifica.

Informazioni sugli aggiornamenti cumulativi per SQL Server

Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e tutte le correzioni per la sicurezza inclusi nell'aggiornamento cumulativo precedente. Scopri gli aggiornamenti cumulativi più recenti per SQL Server:

Ultimo aggiornamento cumulativo per SQL Server 2014
        
Ultimo aggiornamento cumulativo per SQL Server 2016

Stato

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

Riferimenti

Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.