Príznaky
Predpokladajme, že máte príkaz UPDATE, ktorý odkazuje na neexistujúcu funkciu oddielu pomocou kľúčového slova $PARTITION v Microsoft SQL Server 2014, 2016 alebo 2017. Príklad:
Poznámka
UPDATE TableName SET ColumnName='xyz' WHERE $PARTITION. NonExistingPartitionFunction(ColumnName) = 1
V tomto prípade SQL Server nevykoná aktualizáciu ani nevráti chybové hlásenie, ktoré označuje, že objekt NonExistingPartitionFunction neexistuje. Z pohľadu používateľa sa však zdá, že príkaz UPDATE bol vykonaný úspešne, ale v skutočnosti zlyhal.
Príčina
Keď spustíte dávku, SQL Server môže vykonať oneskorené rozlíšenie názvov (DNR). V tomto procese SQL Server nevytvorí chybu okamžite, keď narazí na neexistujúci objekt, a očakáva, že objekt bude vytvorený modulom alebo dávkou pred vykonaním príkazu, ktorý odkazuje na tento objekt. Pre funkcie oddielov SQL Server nespracováva DNR správne.
Ďalšie informácie
Ďalšie informácie o DNR nájdete v téme Rozlišovanie oneskorených názvov.
Riešenie
Tento problém je opravený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:
Kumulatívna aktualizácia 8 pre SQL Server 2016 SP1
Kumulatívna aktualizácia 4 pre SQL Server 2017
Kumulatívna aktualizácia 9 pre SQL Server 2014 SP2
Informácie o kumulatívnych aktualizáciách pre SQL Server:
Každá nová kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchle opravy a opravy zabezpečenia, ktoré boli zahrnuté v predchádzajúcej kumulatívnej aktualizácii. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Najnovšia kumulatívna aktualizácia pre SQL Server 2016
Najnovšia kumulatívna aktualizácia pre SQL Server 2017
Najnovšia kumulatívna aktualizácia pre SQL Server 2014
Stav
Spoločnosť Microsoft potvrdila, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v časti Vzťahuje sa na.
Odkazy
Získajte informácie o terminológii, ktorú Microsoft používa na popis aktualizácií softvéru.