Simptomi
Pretpostavimo da imate postavku u kojoj Microsoft SQL Server 2016 djeluje kao Distributor, a SQL Server 2014 ili SQL Server 2012 djeluje kao Publisher. Ako u ovoj instalaciji stvorite snimku stanja, transakcijsku ili spajanje publikacije u sustavu SQL Server 2012 ili SQL Server 2014 Publisher s korisnički definiranom funkcijom (UDF) kao članak, agent za snimke stanja ne funkcionira tijekom skriptiranja UDF-a i prikazuje se poruka o pogrešci slična sljedećoj:
Napomena
Skripta nije uspjela za UserDefinedFunction 'schema.functionname'
Iz povijesti posla agenta za snimku stanja vidi se sljedeća poruka o pogrešci:
Napomena
<DateTime> [5%] Agent za replikaciju naišao je na iznimku
<DateTime> Izvor: Nepoznato
<Vrsta iznimke DateTime> : Microsoft.SqlServer.Management.Smo.FailedOperationException
<Poruka o iznimci datuma i vremena> : skripta nije uspjela za UserDefinedFunction 'schema.functionname'
<Kod poruke DateTime> : Nije primjenjivo
Uzrok
Taj se problem pojavljuje jer agent za snimke koristi SMO Miscrosft.SqlServer.Smo.dll za skriptiranje članaka. SQL server 2016 dodaje novo svojstvo SMO IsNativelyCompiled za In-Memory funkcije/spremljene procedure. To se svojstvo ne prikazuje u sustavu SQL Server čija je verzija starija od sustava SQL Server 2016. Kada pokrenete agenta za snimke stanja na servisu Distributor za SQL Server 2016, on koristi Microsoft.SqlServer.Smo.dll SQL Server 2016, ali pokušava provjeriti svojstvo SMO IsNativelyCompiled u programu SQL Server 2012 ili 2014 Publisher i ne uspijeva uz gore navedenu pogrešku.
Rješenje
Taj je problem riješen u sljedećim kumulativnim ažuriranjima za SQL Server:
Kumulativno ažuriranje 2 za SQL Server 2016 SP1
Kumulativno ažuriranje 4 za SQL Server 2016
O kumulativnim ažuriranjima za SQL Server
Svako novo kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sigurnosne popravke koji su obuhvaćeni prethodnim kumulativnim ažuriranjem. Pogledajte najnovija kumulativna ažuriranja za SQL Server:
Najnovije kumulativno ažuriranje za SQL Server 2016
Zaobilazno rješenje
Da biste zaobišli taj problem, ručno stvorite korisnički definirane funkcije (UDF-ove) na pretplatniku.
Status
Microsoft je potvrdio da je to problem u Microsoftovim proizvodima koji su navedeni u odjeljku „Odnosi se na“.
Reference
Saznajte više o terminologiji koju Microsoft upotrebljava za opisivanje softverskih ažuriranja.