KB4046745 - FIX: UPDATE statement fails silently when you reference a nonexistent partition function in the WHERE clause in SQL Server 2014, 2016, or 2017

Symptoms

Assume that you have an UPDATE statement that references a nonexistent partition function by using the $PARTITION keyword in Microsoft SQL Server 2014, 2016, or 2017. For example,

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

In this situation, SQL Server does not perform an update or return an error message to indicate that the NonExistingPartitionFunction object does not exist. However, from the user perspective, it seems that the UPDATE statement is executed successfully, but actually it failed.

Cause

When you execute a batch, SQL Server may perform the deferred name resolution (DNR). In this process, SQL Server does not immediately produce an error when it encounters a nonexistent object, and it expects that the object will be created by the module or batch before the execution of the statement that references that object. For partition functions, SQL Server does not handle DNR correctly.

More Information

For more information about DNR, see Deferred Name Resolution.

Resolution

This issue is fixed in the following cumulative updates for SQL Server:

       Cumulative update 8 for SQL Server 2016 SP1 

       Cumulative Update 4 for SQL Server 2017 

       Cumulative Update 9 for SQL Server 2014 SP2

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

Latest cumulative update for SQL Server 2016

Latest cumulative update for SQL Server 2017

Latest cumulative update for SQL Server 2014

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

References

Learn about the terminologythat Microsoft uses to describe software updates.

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×