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.