Simptome
Să presupunem că aveți o instrucțiune Update care face referire la o funcție de partiție inexistentă, utilizând cuvântul cheie $Partition în Microsoft SQL Server 2014, 2016 sau 2017. De exemplu,
ACTUALIZAȚI tablename set ColumnName= ' xyz ' unde $partition. NonExistingPartitionFunction (ColumnName) = 1
În această situație, SQL Server nu efectuează o actualizare sau returnează un mesaj de eroare pentru a indica faptul că obiectul NonExistingPartitionFunction nu există. Cu toate acestea, din perspectiva utilizatorului, se pare că instrucțiunea Update este executată cu succes, dar de fapt nu a reușit.
Cauză
Atunci când executați un lot, SQL Server poate efectua Rezoluția nume amânată (resuscitare). În acest proces, SQL Server nu generează imediat o eroare atunci când întâlnește un obiect inexistent și se așteaptă ca obiectul să fie creat de modul sau de grup înainte de executarea declarației care face referire la acel obiect. Pentru funcțiile de partiție, SQL Server nu tratează corect resuscitarea.
Mai multe informații
Pentru mai multe informații despre resuscitare, consultați rezoluția numelui amânată.
Rezolvare
Această problemă este remediată în următoarele actualizări cumulative pentru SQL Server:
Actualizarea cumulativă 8 pentru SQL Server 2016 SP1
Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
Cea mai recentă actualizare cumulativă pentru SQL Server 2016
Cea mai recentă actualizare cumulativă pentru SQL Server 2017
Cea mai recentă actualizare cumulativă pentru SQL Server 2014
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Referințe
Aflați despre terminologiape care o utilizează Microsoft pentru a descrie actualizările de software.