Príznaky
Predpokladajme, že máte nastavenie, kde Microsoft SQL Server 2016 koná ako distribútor a SQL Server 2014 alebo SQL Server 2012 koná ako Publisher. Ak v tomto nastavení vytvoríte snímku alebo transakčnú alebo zlučovanú publikáciu na serveri SQL Server 2012 alebo v programe SQL Server 2014 Publisher s funkciou user-definované (UDF) ako článok, funkcia Snapshot agent zlyhá pri skriptovaní UDF a zobrazí sa chybové hlásenie podobné nasledujúcemu:
Skript zlyhal pre UserDefinedFunction ' Schema. functionname '
Nasledujúce chybové hlásenie sa zobrazuje z histórie úloh agenta snapshotu:
<DateTime> [5%] Agent replikácie sa stretol s výnimkou<DateTime> zdroj: neznámy<DateTime> Typ výnimky: Microsoft. SqlServer. Management. SMO. FailedOperationException<DateTime> výnimka správa: skript zlyhal pre UserDefinedFunction ' Schema. functionname ' <DateTime> kód správy: nevzťahuje sa
Príčina
Tento problém sa vyskytuje, pretože agent Snapshot používa SMO MiscroSFT. SqlServer. SMO. dll na články skriptu. SQL Server 2016 pridáva novú vlastnosť SMO IsNativelyCompiled pre funkcie in-Memory/uložené procedúry. Táto vlastnosť nie je prezentovaná na serveri SQL Server, ktorého verzia je staršia ako SQL Server 2016. Pri spustení nástroja Snapshot agent na distribútorovi pre SQL Server 2016 sa používa Microsoft. SqlServer. SMO. dll z sql servera 2016, ale pokúsi sa overiť vlastnosť ISNATIVELYCOMPILED v porovnaní s SQL Server 2012 alebo 2014 Publisher a to zlyhá s vyskytla sa chyba.
Riešenie
Tento problém je vyriešený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server: Kumulatívna aktualizácia 2 pre SQL server 2016 SP1Kumulatívna aktualizácia 4 pre SQL Server 2016
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server: Posledná Kumulatívna aktualizácia pre SQL Server 2016
Alternatívne riešenie
Ak chcete tento problém obísť, vytvorte používateľom definované funkcie (UDF) manuálne na predplatiteľovi.
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Oboznámte sa s terminológiou, ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.