Symptomen
Stel dat u een instelling hebt waarop Microsoft SQL Server 2016 fungeert als Distributor en SQL Server 2014 of SQL Server 2012 fungeert als uitgever. Als u in deze installatie een momentopname maakt, of een transactie of samenvoegpublicatie op SQL Server 2012 of SQL Server 2014 Publisher met een door de gebruiker gedefinieerde functie (UDF) als artikel, mislukt, mislukt de Snapshot-Agent tijdens het uitvoeren van scripts en wordt een foutbericht weergegeven van de volgende strekking:
Script mislukt voor UserDefinedFunction ' schema. functienaam '
Het volgende foutbericht wordt weergegeven in de taakgeschiedenis van de momentopname agent:
<DateTime> [5%] de Replication-agent heeft een uitzondering opgetreden<DateTime> Bron: onbekend<datum/tijd>-uitzonderings type: Microsoft. SqlServer. Management. SMO. FailedOperationException<DateTime> uitzonderingsbericht: script mislukt voor UserDefinedFunction ' schema '.
Oorzaak
Dit probleem treedt op omdat de momentopname agent gebruikmaakt van SMO MiscroSFT. SqlServer. SMO. dll voor het werken met scripts. Met SQL Server 2016 wordt een nieuw SMO -eigenschappen IsNativelyCompiled gemaakt voor functies in het geheugen en opgeslagen procedures. Deze eigenschap wordt niet weergegeven in SQL server waarvan de versie ouder is dan SQL Server 2016. Wanneer u de momentopname agent uitvoert op de Distributor voor SQL Server 2016, wordt de fout Microsoft. sqlserver. SMO. dll van sql server 2016 gebruikt, maar wordt geprobeerd om te controleren op de SMO-eigenschap IsNativelyCompiled tegen SQL Server 2012 of 2014 Uitgever en mislukt de fout met bovenstaande fout.
Oplossing
Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server: Cumulatieve update 2 voor SQL server 2016 SP1cumulatief update 4 voor SQL Server 2016
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server: Nieuwste cumulatieve update voor SQL Server 2016
Workaround
Om dit probleem tijdelijk op te lossen, maakt u handmatig door de gebruiker gedefinieerde functies (UDF) op de abonneeserver.
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.
Verwijzingen
Lees meer over de terminologiedie door Microsoft wordt gebruikt om software-updates te beschrijven.