KB4046745 - FIX: l'istruzione UPDATE non riesce automaticamente quando si fa riferimento a una funzione di partizione inesistente nella clausola WHERE in SQL Server 2014, 2016 o 2017

Si applica a
SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2017 Developer SQL Server 2017 Enterprise Core SQL Server 2017 Enterprise SQL Server 2016 Service Pack 1 SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Sintomi

Si supponga di avere un'istruzione UPDATE che fa riferimento a una funzione di partizione inesistente usando la parola chiave $PARTITION in Microsoft SQL Server 2014, 2016 o 2017. Ad esempio,

Nota

UPDATE TableName SET ColumnName='xyz' WHERE $PARTITION. NonExistingPartitionFunction(ColumnName) = 1

In questo caso, SQL Server non esegue un aggiornamento o restituisce un messaggio di errore per indicare che l'oggetto NonExistingPartitionFunction non esiste. Tuttavia, dal punto di vista dell'utente, sembra che l'istruzione UPDATE viene eseguita correttamente, ma in realtà non è riuscita.

Causa

Quando si esegue un batch, SQL Server può eseguire la risoluzione dei nomi posticipata (DNR). In questo processo, SQL Server non genera immediatamente un errore quando rileva un oggetto inesistente e prevede che l'oggetto verrà creato dal modulo o dal batch prima dell'esecuzione dell'istruzione che fa riferimento all'oggetto. Per le funzioni di partizione, SQL Server non gestisce correttamente DNR.

Altre informazioni

Per altre informazioni su DNR, vedere Deferred Name Resolution.

Risoluzione

Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:

Aggiornamento cumulativo 8 per SQL Server 2016 SP1

Aggiornamento cumulativo 4 per SQL Server 2017

Aggiornamento cumulativo 9 per SQL Server 2014 SP2

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 2016

Ultimo aggiornamento cumulativo per SQL Server 2017

Ultimo aggiornamento cumulativo per SQL Server 2014

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.