Sümptomid
Oletagem, et teil on UPDATE-lause, mis viitab olematu partitsiooni funktsiooni kasutades märksõna $PARTITION Microsoft SQL Server 2014, 2016 või 2017. Näiteks
Märkus.
UPDATE TableName SET ColumnName='xyz' WHERE $PARTITION. NonExistingPartitionFunction(ColumnName) = 1
Sellises olukorras SQL Server ei teosta värskendust või tagastab tõrketeate, mis näitab, et NonExistingPartitionFunction objekti pole olemas. Kasutaja seisukohast tundub siiski, et UPDATE-lause on edukalt käivitatud, kuid tegelikult see nurjus.
Põhjus
Paketi käivitamisel võib SQL Server teha edasilükatud nime eraldusvõime (DNR). Selles protsessis ei põhjusta SQL Server kohe tõrget, kui esineb olematu objekt, ja eeldab, et objekt luuakse mooduli või paketiga enne sellele objektile viitava lause käivitamist. Sektsioonifunktsioonide puhul ei käitle SQL Server DNR-i õigesti.
Veel teavet
DNR-i kohta leiate lisateavet teemast Viitnime eraldusvõime.
Lahendus
See probleem on lahendatud järgmistes SQL Server koondvärskendustes.
SQL Server 2016 SP1 koondvärskendus 8
SQL Server 2017 koondvärskendus 4
SQL Server 2014 SP2 koondvärskendus 9
Teave SQL Server koondvärskenduste kohta.
Iga uus koondvärskendus SQL Server sisaldab kõiki kiirparandusi ja kõiki turbeparandusi, mis olid kaasatud eelmise koondvärskenduse. Vaadake uusimaid SQL Server koondvärskendusi.
Uusim koondvärskendus SQL Server 2016 jaoks
Uusim koondvärskendus SQL Server 2017 jaoks
Uusim koondvärskendus SQL Server 2014 jaoks
Olek
Microsoft on kinnitanud, et see on jaotises „Rakenduskoht“ loetletud Microsofti toodete korral esinev probleem.
Viited
Lisateave Microsofti tarkvaravärskenduste terminoloogia kohta.