KB3197883 - PATAISYMAS: momentinės kopijos agentas neveikia, kai publikuojate UDF „SQL Server“ 2016 platintojui operacijų replikavime

Taikoma
SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

Požymiai

Tarkime, kad jūsų sąrankoje "Microsoft „SQL Server“ 2016" veikia kaip platintojas, o "„SQL Server“ 2014" arba "„SQL Server“ 2012" veikia kaip "Publisher". Jei pagal šią sąranką sukursite momentinę kopiją, operacijų ar suliejimo leidinį "„SQL Server“ 2012" arba "„SQL Server“ 2014 Publisher" su vartotojo apibrėžta funkcija (UDF) kaip straipsniu, tada momentinių kopijų agentas nepavyksta kurti UDF scenarijaus ir gaunate klaidos pranešimą, panašų į šį:

Pastaba

Nepavyko atlikti UserDefinedFunction "schema.functionname" scenarijaus

Momentinės kopijos agento užduočių istorijoje rodomas šis klaidos pranešimas:

Pastaba

<DateTime> [5%] Replikavimo agentas aptiko išimtį
<DateTime> Šaltinis: nežinomas
<DateTime> išimties tipas: „Microsoft“.SqlServer.Management.Smo.FailedOperationException
<DateTime> išimties pranešimas: UserDefinedFunction "schema.functionname" scenarijaus nepavyko
<DateTime> pranešimo kodas: netaikoma

Priežastis

Ši problema kyla, nes momentinės kopijos agentas naudoja SMO Miscrosft.SqlServer.Smo.dll straipsnių scenarijui. "SQL Server 2016" įtraukia naują SMO ypatybę "IsNativelyCompiled", skirtą In-Memory funkcijoms / saugomoms procedūroms. Ši ypatybė nepateikiama "„SQL Server“", kurio versija yra ankstesnė nei "„SQL Server“ 2016". Kai paleidžiate momentinių kopijų agentą platintojui „SQL Server“ 2016", jis naudoja „SQL Server“ 2016 „Microsoft“.SqlServer.Smo.dll, bet bando tikrinti SMO ypatybę IsNativelyCompiled lyginant su „SQL Server“ 2012 arba 2014 Publisher" ir nepavyksta pateikti aukščiau nurodytos klaidos.

Sprendimas

Ši problema išspręsta šiuose kaupiamuosiuose "„SQL Server“" naujinimuose:

2 kaupiamasis naujinimas, skirtas „SQL Server“ 2016 SP1

4 kaupiamasis naujinimas, skirtas „SQL Server“ 2016

Apie kaupiamuosius „SQL Server“ naujinimus

Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Peržiūrėkite naujausius "„SQL Server“" kaupiamuosius naujinimus:

Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2016

Sprendimo būdas

Norėdami išspręsti šią problemą, prenumeratoriuje rankiniu būdu kurkite vartotojo apibrėžtas funkcijas (UDF).

Būsena

„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.

Nuorodos

Sužinokite daugiau apie terminus, kuriuos „„Microsoft““ naudoja apibūdindama programinės įrangos naujinimus.