Simptomi
Pretpostavimo da imate podešavanje u kome Microsoft SQL Server 2016 deluje kao Distributor, a SQL Server 2014 ili SQL Server 2012 kao Publisher. Ako u ovoj instalaciji napravite snimak, transakcijsku publikaciju ili publikaciju za objedinjavanje u sistemu SQL Server 2012 ili SQL Server 2014 Publisher sa korisnički definisanom funkcijom (UDF) kao člankom, agent za snimke ne uspeva tokom izvršavanja skripti sa UDF-om i dobijate poruku o grešci koja podseća na sledeću:
Napomena
Nije uspela skripta za UserDefinedFunction "schema.functionname"
Sledeća poruka o grešci se vidi iz istorije zadatka agenta za snimke:
Napomena
<DateTime> [5%] Agent za replikaciju je naišao na izuzetak
<DateTime> Source: Unknown
<DateTime> Tip izuzetka: Microsoft.SqlServer.Management.Smo.FailedOperationException
<DateTime> Exception message: Skripta nije uspela za UserDefinedFunction "schema.functionname"
<DateTime> Kôd poruke: Nije primenljiv
Uzrok
Do ovog problema dolazi zato što agent za snimke koristi SMO Miscrosft.SqlServer.Smo.dll za izvršavanje skripti za članke. SQL Server 2016 dodaje novo svojstvo SMO-a, IsNativelyCompiled for In-Memory functions/stored procedure. Ovo svojstvo nije navedeno u sistemu SQL Server čija je verzija starija od verzije SQL Server 2016. Kada pokrenete agent za snimke u programu Distributor za SQL Server 2016, on koristi Microsoft.SqlServer.Smo.dll SQL Server 2016, ali on pokušava da proveri da li postoji svojstvo "IsNativelyCompiled" u programu SQL Server 2012 ili 2014 Publisher i ne uspeva uz gorenavedenu grešku.
Rešenje
Ovaj problem je rešen u sledećim kumulativnim ispravkama za SQL Server:
Kumulativna ispravka 2 za SQL Server 2016 SP1
Kumulativna ispravka 4 za SQL Server 2016
Osnovni podaci o kumulativnim ispravkama za SQL Server
Svaka nova kumulativna ispravka za SQL Server sadrži sve hitne ispravke i sve bezbednosne ispravke koje su uključene u prethodnu kumulativnu ispravku. Pogledajte najnovije kumulativne ispravke za SQL Server:
Najnovija kumulativna ispravka za SQL Server 2016
Privremeno rešenje
Da biste zaobišli ovaj problem, ručno kreirajte korisnički definisane funkcije (UDF-ove) na pretplatniku.
Status
Microsoft je potvrdio da je ovo problem u Microsoft proizvodima koji su navedeni u odeljku „Odnosi se na“.
Reference
Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ispravki.