KB3136496 - CORRECTIF : une violation d’accès se produit lorsqu’une requête référence une fonction SQLCLR par le biais d’un synonyme dans SQL Server 2014 et 2016

S’applique à
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 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptômes

Prenons le scénario suivant :

  • Il existe une fonction SQLCLR déclarée comme « déterministe », et la fonction peut être utilisée pour l’optimisation « remplacement par une constante ».
  • Il existe un synonyme qui pointe vers la fonction SQLCLR.
  • Une fonction table (TVF) fait référence à la fonction SQLCLR par le biais du synonyme .

Dans ce scénario, lorsqu’une application interroge ce tvf, une violation d’accès peut se produire et vous pouvez recevoir un message d’erreur semblable au suivant :

Remarque

  • Message 0, niveau 11, état 0, ligne 14
  • Une erreur grave s’est produite sur la commande actuelle. Les résultats, le cas échéant, doivent être ignorés.

En outre, un message d’erreur est enregistré dans le journal des erreurs SQL Server.

Résolution

Informations de Service Pack pour SQL Server

Ce problème est résolu dans le Service Pack suivant pour SQL Server :

Service Pack 2 pour SQL Server 2016

Service Pack 3 pour SQL Server 2014

À propos des Service Packs pour SQL Server :

Les Service Packs sont cumulatifs. Chaque nouvelle version contient tous les correctifs fournis dans les Service Packs précédents et tous les nouveaux correctifs. Nous vous recommandons d’appliquer le dernier Service Pack et la dernière mise à jour cumulative pour ce Service Pack. Il n'est donc pas nécessaire d'installer la version antérieure d'un Service Pack avant d'installer la dernière version disponible. Utilisez le tableau 1 de l’article suivant pour obtenir plus d’informations sur le dernier Service Pack et la dernière mise à jour cumulative.

Comment déterminer la version, l’édition et le niveau de mise à jour de SQL Server et de ses composants

État

Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».

Références

En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.