Symptômes
Supposons que vous créez une table à mémoire optimisée dans SQL Server 2014. Ensuite, vous soumettez une requête sur la table, et la requête spécifie un indicateur qui n’est pas reconnu par SQL Server. Par exemple, si vous envoyez la requête suivante :
SELECT * FROM dbo.ShoppingCart (non_existing_hint) WHERE ShoppingCartId = 1;
Dans ce cas, SQL Server peut se bloquer et vous recevez le message d’erreur suivant :
Remarque
Msg 3624, Niveau 20, État 1, Ligne 27
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.
Après avoir installé la mise à jour, SQL Server ne se bloque pas dans ce scénario et vous recevez un message d’erreur semblable à ceci :
Remarque
Msg 10794, Niveau 16, État 86, Ligne 26
L’option de table « xxxxx » n’est pas prise en charge avec les tables à mémoire optimisée.
Résolution
Informations sur les mises à jour cumulatives
Le problème a été résolu pour la première fois dans la mise à jour cumulative suivante de SQL Server.
Recommandation : Installer la dernière mise à jour cumulative 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. Nous vous recommandons de télécharger et d’installer les dernières mises à jour cumulatives pour SQL Server :
État
Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».