Ongelman ilmenemistapa
Oletetaan, että sinulla on määritys, jossa Microsoft SQL Server 2016 toimii jakelijana ja SQL Server 2014 tai SQL Server 2012 toimii julkaisijana. Jos luot tässä määrityksessä tilannevedoksen, tapahtuma- tai yhdistämisjulkaisun SQL Server 2012:ssa tai SQL Server 2014 Publisherissa, jossa on artikkelina käyttäjän määrittämä funktio (UDF), tilannevedosagentti epäonnistuu UDF:n komentosarjaa suoritettaessa ja näyttöön tulee seuraavankaltainen virhesanoma:
Huomautus
Komentosarja epäonnistui kohteelle UserDefinedFunction 'schema.functionname'
Seuraava virhesanoma näkyy tilannevedosagentin työhistoriassa:
Huomautus
<DateTime> [5%] Replikointiagentti havaitsi poikkeuksen
<DateTime> Lähde: Tuntematon
<DateTime-poikkeustyyppi> : Microsoft.SqlServer.Management.Smo.FailedOperationException
<DateTime-poikkeusviesti> : Komentosarja epäonnistui kohteelle UserDefinedFunction 'schema.functionname'
<DateTime-viestikoodi> : Ei sovellettavissa
Syy
Tämä ongelma ilmenee, koska tilannevedosagentti käyttää SMO-Miscrosft.SqlServer.Smo.dll artikkelien komentosarjoissa. SQL Server 2016 lisää uuden SMO-ominaisuuden IsNativelyCompiled In-Memory funktioita tai tallennettuja toimintosarjoja varten. Tätä ominaisuutta ei esiinny SQL Server, jonka versio on vanhempi kuin SQL Server 2016:n. Kun suoritat Defenderin tilannevedosagentin SQL Server 2016:n jakelijassa, se käyttää SQL Server 2016:n Microsoft.SqlServer.Smo.dll, mutta se yrittää tarkistaa SMO-ominaisuuden IsNativelyCompiled SQL Server 2012 tai 2014 Publisheria vastaan, mutta se epäonnistuu ja antaa edellä olevan virheen.
Ratkaisu
Tämä ongelma on korjattu seuraavissa SQL Server kumulatiivisissa päivityksissä:
SQL Server 2016 SP1:n kumulatiivinen päivitys 2
SQL Server 2016:n kumulatiivinen päivitys 4
Tietoja SQL Serverin kumulatiivisista päivityksistä
Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Tutustu SQL Serverin uusimpiin kumulatiivisiin päivityksiin:
SQL Server 2016:n uusin kumulatiivinen päivitys
Vaihtoehtoinen menetelmä
Voit kiertää tämän ongelman luomalla käyttäjän määrittämät funktiot manuaalisesti Tilaajassa.
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.
Viitteet
Lue tietoja Microsoftin ohjelmistopäivitystensä kuvaamiseen käyttämästä sanastosta.