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,
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.
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.
For more information about DNR, see Deferred Name Resolution.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.