KB4046745 - PATAISYMAS: sakinys UPDATE neveikia tyliai, kai nurodote neegzistuojančią skaidinio funkciją sąlygoje WHERE 2014, 2016 arba 2017 „SQL Server“

Taikoma
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)

Požymiai

Tarkime, kad turite sakinį UPDATE, kuris nurodo neegzistuojančią skaidinio funkciją naudojant raktažodį $PARTITION "Microsoft „SQL Server“ 2014", "Microsoft 2016" arba "Microsoft 2017". Pavyzdžiui,

Pastaba

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

Tokiu atveju „SQL Server“ neatlieka naujinimo ir nepateikia klaidos pranešimo, nurodančio, kad objekto NonExistingPartitionFunction nėra. Tačiau iš vartotojo perspektyvos atrodo, kad UPDATE sakinys įvykdytas sėkmingai, bet iš tikrųjų nepavyko.

Priežastis

Kai vykdote paketą, „SQL Server“ gali atlikti atidėto pavadinimo sprendimą (DNR). Šiame procese „SQL Server“ iš karto nesukelia klaidos, kai susiduria su neegzistuojančiu objektu, ir tikisi, kad objektą sukurs modulis arba paketas prieš įvykdant teiginį, nurodantį tą objektą. Skaidinių funkcijoms „SQL Server“ netinkamai tvarko DNR.

Daugiau informacijos

Daugiau informacijos apie DNR ieškokite Atidėto pavadinimo sprendimas.

Sprendimas

Ši problema išspręsta šiuose kaupiamuosiuose "„SQL Server“" naujinimuose:

8 kaupiamasis naujinimas, skirtas „SQL Server“ 2016 SP1

4 kaupiamasis naujinimas, skirtas „SQL Server“ 2017

9 kaupiamasis naujinimas, skirtas „SQL Server“ 2014 SP2

Apie "„SQL Server“" kaupiamuosius naujinimus:

Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Peržiūrėkite naujausius "„SQL Server“" kaupiamuosius naujinimus:

Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2016

Naujausias "„SQL Server“ 2017" kaupiamasis naujinimas

Naujausias "„SQL Server“ 2014" kaupiamasis naujinimas

Būsena

„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.

Nuorodos

Sužinokite daugiau apie terminus, kuriuos „„Microsoft““ naudoja apibūdindama programinės įrangos naujinimus.