CORRECTIF : L’Agent de capture instantanée échoue lorsque vous publiez de FDU sur SQL Server 2016 distributeur dans la réplication transactionnelle

Symptômes

Supposons que vous disposez d’une installation où Microsoft SQL Server 2016 agit en tant que distributeur et 2014 de SQL Server ou SQL Server 2012 agit en tant qu’éditeur. Dans cette configuration, si vous créez une capture instantanée ou une transactionnelle ou publication dans SQL Server 2012 ou SQL Server 2014 Publisher avec une fonction définie par l’utilisateur (UDF) en tant qu’article de fusion, puis l’Agent de capture instantanée échoue lors du script UDF, et vous recevez un message d’erreur semblable au suivant :

Échec du script pour UserDefinedFunction 'schema.functionname'

Le message d’erreur suivant apparaît dans l’historique de l’Agent de capture instantanée :

< DateTime > [5 %] l’agent de réplication a rencontré une exception
< DateTime > Source : inconnu
Type d’Exception < DateTime > : Microsoft.SqlServer.Management.Smo.FailedOperationException
< DateTime > Message d’Exception : échec du Script pour UserDefinedFunction 'schema.functionname'
Code de Message < DateTime > : non Applicable

Cause

Ce problème se produit car l’Agent de capture instantanée utilise SMO Miscrosft. SqlServer.Smo.dll articles de script. Le serveur SQL 2016 ajoute une nouvelle propriété SMO IsNativelyCompiled pour les procédures de fonctions/stockées en mémoire. Cette propriété n’est pas présentée dans SQL Server dont la version est antérieure à SQL Server 2016. Lorsque vous exécutez l’Agent de capture instantanée sur le distributeur pour 2016 de SQL Server, il utilise Microsoft.SqlServer.Smo.dll de 2016 de SQL Server, mais il essaie de vérifier de la propriété SMO IsNativelyCompiled par rapport à SQL Server 2012 ou 2014, éditeur et il échoue avec l’erreur ci-dessus.

Résolution

Ce problème est résolu dans la mise à jour cumulative suivante pour SQL Server :

Mises à jour cumulatives 4 pour SQL Server 2016



À propos des mises à jour cumulatives pour SQL Server

Solution de contournement

Pour contourner ce problème, créez manuellement les fonctions définies par l’utilisateur (UDF) sur l’abonné.

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Références

Obtenir des informations sur la terminologie que Microsoft utilise pour décrire les mises à jour logicielles.
Propriétés

ID d'article : 3197883 - Dernière mise à jour : 27 janv. 2017 - Révision : 1

Commentaires