Simptome
Să presupunem că aveți o configurare în care Microsoft SQL Server 2016 acționează ca distribuitor și SQL Server 2014 sau SQL Server 2012 acționează în calitate de editor. În această configurare, dacă creați un instantaneu sau o publicație tranzacțională sau de îmbinare pe SQL Server 2012 sau SQL Server 2014 Publisher cu funcția definit de utilizator (UDF) ca articol, atunci agentul instantaneu nu reușește în timp ce scriptarea UDF și primiți un mesaj de eroare asemănător cu următorul:
Scriptul nu a reușit pentru UserDefinedFunction ' schema. numele '
Următorul mesaj de eroare este văzut din istoricul lucrării agentului instantaneu:
<DateTime> [5%] agentul de reproducere a întâlnit o excepție<DateTime> sursă: necunoscut<DateTime> tip de excepție: Microsoft. SqlServer. Management. smo. FailedOperationException<DateTime> mesaj de excepție: scriptul nu a reușit pentru UserDefinedFunction ' schema. numele ' <DateTime> codul mesajului: nu se aplică
Cauză
Această problemă apare deoarece agentul instantaneu utilizează SMO MiscroSFT. SqlServer. smo. dll la articole de script. SQL Server 2016 adaugă un nou IsNativelyCompiled de proprietate SMO pentru funcțiile în memorie/procedurile stocate. Această proprietate nu este prezentată în SQL Server a cărui versiune este mai veche decât SQL Server 2016. Atunci când derulează agentul instantaneu din distribuitor pentru SQL Server 2016, acesta utilizează Microsoft. SqlServer. smo. dll din SQL Server 2016, dar încearcă să verifice proprietatea SMO IsNativelyCompiled împotriva SQL Server 2012 sau 2014 Publisher și nu reușește cu eroarea de mai sus.
Rezolvare
Această problemă este remediată în următoarele actualizări cumulative pentru SQL Server: Actualizarea cumulativă 2 pentru SQL server 2016 SP1actualizarea cumulativă 4 pentru SQL Server 2016
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
Soluție de evitare
Pentru a rezolva această problemă, creați manual funcțiile definite de utilizator (UDF) pe abonat.
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.