Sümptomid
Oletame, et teil on Update -lause, mis viitab olematu partitsiooni funktsioonile, kasutades $Partition märksõna Microsoft SQL Server 2014, 2016 või 2017. Näiteks
VÄRSKENDAge TableName Set ColumnName= "xyz", kus $Partition. NonExistingPartitionFunction (ColumnName) = 1
Selles olukorras ei tee SQL Server värskendust või tagastab tõrketeate, mis viitab sellele, et NonExistingPartitionFunction objekti pole olemas. Kuid kasutaja vaatepunktist tundub, et Update lause on edukalt täidetud, kuid tegelikult see ebaõnnestus.
Põhjus
Kui käivitate partii, võib SQL Server sooritada edasilükatud nime eraldusvõime (DNR). Selles protsessis ei tekita SQL Server kohe tõrget, kui ilmneb olematu objekt, ja eeldatakse, et objekt luuakse moodulis või partiis enne sellele objektile viitava lause täitmist. Sektsiooni funktsioonide korral ei käsitle SQL Server õigesti DNR.
Lisateave
Lisateavet DNR kohta leiate teemast edasilükatud nimede eraldusvõime.
Lahendus
See probleem on lahendatud SQL serveri järgmisi kumulatiivseid värskendusi.
Kumulatiivne Update 8 SQL Server 2016 SP1 jaoks
Iga uus koondvärskenduses SQL Server sisaldab kõiki käigultparandused ja kõik turvaparandusi, mis kuulusid eelmise koondvärskenduse. Vaadake SQL serveri kumulatiivseid värskendusi.
Uusim SQL Server 2016 koondvärskenduses
Olek
Microsoft on kinnitanud, et see probleem esineb jaotises "kehtib järgmiste toodete kohta" loetletud Microsofti toodetes.
Viited
Siit leiate teavet selle kohta, mida Microsoftkasutab tarkvaravärskenduste kirjeldamiseks.