KB4046745 – POPRAVKA: instrukcija UPDATE ne uspeva tiho kada uputite na nepostojeću funkciju particije u odredbi WHERE u SQL Server 2014, 2016 ili 2017

Primenjuje se na
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)

Simptomi

Pretpostavimo da imate instrukciju UPDATE koja upućuje na nepostojeću funkciju particije pomoću ključne reči $PARTITION u programu Microsoft SQL Server 2014, 2016 ili 2017. Na primer,

Napomena

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

U ovom slučaju, SQL Server ne izvršava ažuriranje niti vraća poruku o grešci koja ukazuje na to da objekat NonExistingPartitionFunction ne postoji. Međutim, iz perspektive korisnika, izgleda da se instrukcija UPDATE izvršava uspešno, ali zapravo nije uspela.

Uzrok

Kada izvršite paket, SQL Server može izvršiti razrešavanje odloženog imena (DNR). U ovom procesu, SQL Server ne proizvodi odmah grešku kada naiđe na objekat koji ne postoji i očekuje da će modul ili paket kreirati objekat pre izvršavanja izjave koja upućuje na taj objekat. Za funkcije particije, SQL Server ne rukuje DNR ispravno.

Više informacija

Više informacija o DNR definiciji potražite u članku "Razrešavanje odloženog imena".

Rešenje

Ovaj problem je rešen u sledećim kumulativnim ispravkama za SQL Server:

Kumulativna ispravka 8 za SQL Server 2016 SP1

Kumulativna ispravka 4 za SQL Server 2017

Kumulativna ispravka 9 za SQL Server 2014 SP2

Osnovni podaci o kumulativnim ispravkama za SQL Server:

Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:

Najnovija kumulativna ispravka za SQL Server 2016

Najnovija kumulativna ispravka za SQL Server 2017

Najnovija kumulativna ispravka za SQL Server 2014

Status

Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.

Reference

Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.