KB4056117 - CORRECTIF : l’assertion se produit lorsque vous passez une variable de table à mémoire optimisée dans une procédure stockée en tant que paramètre table dans SQL Server 2016 et 2017

S’applique à
SQL Server 2016 Service Pack 1 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 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Symptômes

Supposons que vous utilisez In-Memory traitement des transactions en ligne (OLTP) dans Microsoft SQL Server 2016 et 2017. Lorsque vous transmettez une variable de table à mémoire optimisée dans une procédure stockée en tant que paramètre table (TVP), une erreur d’assertion peut se produire. En outre, un fichier d’image mémoire est généré par SQL Server.

Remarque

  • Location : « interop.cpp » :LineNumber
    Expression : false
    SPID : SPID
    ID processus : ProcessID
    Msg 3624, Niveau 20, État 1, Procedure ProcedureName, Line LineNumber [Batch Start Line LineNumber]
  • Une case activée d’assertion système a échoué. Pour plus d’informations, consultez le journal des erreurs de SQL Server. En règle générale, un échec d’assertion est causé par un bogue logiciel ou une altération des données. Pour vérifier la case activée pour la base de données endommagée, envisagez d’exécuter DBCC CHECKDB. Si vous avez accepté d’envoyer des vidages à Microsoft pendant l’installation, un mini-vidage sera envoyé à Microsoft. Une mise à jour peut être disponible auprès de Microsoft dans le dernier Service Pack ou dans un correctif du Support technique.
  • Msg 596, Niveau 21, État 1, Ligne LineNumber
    Impossible de continuer l’exécution car la session est à l’état d’arrêt.
    Msg 0, Niveau 20, État 0, Ligne LineNumber
    Une grave erreur s’est produite sur la commande actuelle.  Les résultats, s’il y en a, doivent être ignorés.

Résolution

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

Mise à jour cumulative 4 pour SQL Server 2017

Mise à jour cumulative 7 pour SQL Server 2016 SP1

À propos des mises à jour cumulatives pour SQL Server :

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :

Dernière mise à jour cumulative pour SQL Server 2017

Dernière mise à jour cumulative pour SQL Server 2016

É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.