Update: UPDATE-Anweisung nicht automatisch, wenn Sie eine nicht vorhandene Partitionsfunktion in der WHERE-Klausel in SQL Server 2014 2016 oder 2017 verweisen

Gilt für: SQL Server 2014 Service Pack 2SQL Server 2014 DeveloperSQL Server 2014 Enterprise

Problembeschreibung


Nehmen Sie an, dass Sie eine UPDATE -Anweisung, die auf eine nicht vorhandene Partitionsfunktion mit $PARTITION -Schlüsselwort in Microsoft SQL Server 2014 2016 oder 2017 verweist. Zum Beispiel

UPDATE TableName Satz ColumnName= 'Xyz', $PARTITION. NonExistingPartitionFunction (Spaltenname) = 1

In diesem Fall SQL Server keine Aktualisierung oder eine Fehlermeldung an, dass das NonExistingPartitionFunction -Objekt nicht vorhanden ist. Jedoch scheint aus der Benutzerperspektive die UPDATE -Anweisung erfolgreich ausgeführt, aber eigentlich nicht.

Ursache


Beim Ausführen einer Stapelverarbeitung kann SQL Server die verzögerte Auflösung (DNR) ausführen. Dabei wird SQL Server sofort erzeugt Fehler ein nicht vorhandenes Objekt gefunden und erwartet, dass das Objekt erstellt wird, indem das Modul oder die Stapelverarbeitung vor dem Ausführen der Anweisung, die das Objekt verweist. Partitionsfunktionen wird SQL Server nicht DNR ordnungsgemäß behandeln.

Weitere Informationen

Weitere Informationen zu DNR finden Sie unter Auflösung zurückgestellt.

Problemlösung


Dieses Problem ist für SQL Server die folgenden kumulativen Updates behoben:

Kumulative update für SQL Server 2016 SP1 8

Kumulative Update 4 für SQL Server 2017

Kumulative Update 9 für SQL Server 2014 SP2

Status


Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.

Referenzen


Informationen Sie zur Terminologie , die Microsoft-Softwareupdates verwendet.