KB4046745 – JAVÍTÁS: Az UPDATE utasítás csendesen meghiúsul, ha egy nem létező partíciós függvényre hivatkozik a WHERE záradékban a SQL Server 2014-es, 2016-os vagy 2017-es verziójában

Hatókör
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)

Tünetek

Tegyük fel, hogy olyan UPDATE utasítással rendelkezik, amely a Microsoft SQL Server 2014-ben, 2016-ban vagy 2017-ben a $PARTITION kulcsszóval hivatkozik egy nem létező partíciós függvényre. Például:

Megjegyzés

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

Ebben az esetben az SQL Server nem hajt végre frissítést, és nem ad vissza olyan hibaüzenetet, amely arról tájékoztatja, hogy a NonExistingPartitionFunction objektum nem létezik. Felhasználói szempontból azonban úgy tűnik, hogy az UPDATE utasítás végrehajtása sikeresen megtörtént, de valójában sikertelen volt.

Ok

Köteg végrehajtásakor az SQL Server végrehajthatja a késleltetett névfeloldást (DNR). Ebben a folyamatban az SQL Server nem okoz azonnal hibát, amikor nem létező objektumhoz ütközik, és azt várja, hogy a modul vagy köteg létre fogja hozni az objektumot az objektumra hivatkozó utasítás végrehajtása előtt. A partíciós függvények esetében az SQL Server nem kezeli megfelelően a DNR-t.

További információ

További információ a DNR-ről: Késleltetett névfeloldás.

Megoldás

A hibát az SQL Server következő összegző frissítéseiben javítottuk:

8-as összegző frissítés az SQL Server 2016 SP1-hez

4. összegző frissítés az SQL Server 2017-hez

9-es összegző frissítés az SQL Server 2014 SP2-höz

Az SQL Server összegző frissítéseinek ismertetése:

Az SQL Server minden új összegző frissítése tartalmazza az összes gyorsjavítást és minden biztonsági javítást, amely az előző kumulatív frissítésben szerepelt. Tekintse meg az SQL Server legújabb összegző frissítéseit:

Az SQL Server 2016 legújabb összegző frissítése

Az SQL Server 2017 legújabb összegző frissítése

Az SQL Server 2014 legújabb összegző frissítése

Állapot

A Microsoft megerősítette, hogy ez egy olyan probléma a Microsoft-termékekben, amely az „Érintett szolgáltatás“ című szakaszban van felsorolva.

Hivatkozások

Ismerje meg a Microsoft szoftverfrissítésekkel kapcsolatos terminológiáját.