KB4046745 – POPRAVEK: Izjava UPDATE tiho ne uspe, ko se sklicujete na neobstoječo particijsko funkcijo v stavku WHERE v SQL Server 2014, 2016 ali 2017

Velja za
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)

Znaki

Predpostavimo, da imate izjavo UPDATE, ki se sklicuje na neobstoječo funkcijo particije s ključno besedo $PARTITION v Microsoft SQL Server 2014, 2016 ali 2017. Primer:

Opomba

POSODOBI TableName SET ColumnName='xyz' WHERE $PARTITION. NeobstoječaPartitionFunction(ColumnName) = 1

V tem primeru SQL Server ne izvede posodobitve ali ne vrne sporočila o napaki, ki bi označilo, da predmet NonExistingPartitionFunction ne obstaja. Vendar pa se z uporabniškega vidika zdi, da je izjava UPDATE uspešno izvedena, vendar v resnici ni uspela.

Vzrok

Ko zaženete paket, lahko SQL Server izvede odloženo razreševanje imen (DNR). V tem procesu SQL Server ne ustvari napake takoj, ko naleti na neobstoječi predmet, in pričakuje, da bo objekt ustvaril modul ali paket pred izvedbo izjave, ki se sklicuje na ta predmet. Za funkcije particij SQL Server ne obravnava DNR pravilno.

Več informacij

Če želite več informacij o DNR, glejte Odloženo razreševanje imen.

Rešitev

Ta težava je odpravljena v teh zbirnih posodobitvah za SQL Server:

Zbirna posodobitev 8 za servisni paket SP1 za SQL Server 2016

Zbirna posodobitev 4 za SQL Server 2017

Zbirna posodobitev 9 za servisni paket SP2 za SQL Server 2014

O zbirnih posodobitvah za SQL Server:

Vsaka nova zbirna posodobitev za SQL Server vsebuje vse sprotne popravke in varnostne popravke, ki so bili vključeni v prejšnjo zbirno posodobitev. Oglejte si najnovejše zbirne posodobitve za SQL Server:

Najnovejša zbirna posodobitev za SQL Server 2016

Najnovejša zbirna posodobitev za SQL Server 2017

Najnovejša zbirna posodobitev za SQL Server 2014

Stanje

Microsoft je potrdil, da gre za težavo v Microsoftovih izdelkih, ki so navedeni v razdelku »Velja za«.

Sklici

Preberite več o terminologiji, ki jo Microsoft uporablja za opisovanje posodobitev programske opreme.