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.