Ce problème s'avère vraiment délicat (et assez ennuyeux).
Dans SQL Server Management Studio 2008, jusqu'à il y a quelques jours, mon IntelliSense fonctionnait très bien. Puis tout d'un coup, cela s'est arrêté. L'icône telle qu'elle est activée dans le menu de la barre d'outils, et sous Outils -> Options -> Éditeur de texte -> T-SQL -> IntelliSense, elle indique qu'elle est activée à cet endroit.
J'ai essayé d'actualiser le cache IntelliSense avec Ctrl-Shft-R mais cela ne fonctionne pas non plus.
Avez-vous des idées sur ce qui est arrivé à mon IntelliSense et sur ce que je dois faire pour le récupérer?
Si vous avez récemment mis à niveau votre VisualStudio, consultez ce lien pour un correctif:
Ou vous pouvez télécharger le correctif directement à partir d'ici:
Comment obtenir le dernier Service Pack pour SQL Server 2008 R2
Il existe un certain nombre de possibilités où IntelliSense ne fonctionne pas:
Dans certains cas, le cache local utilisé par IntelliSense devient obsolète. Actualiser le cache est facile mais pas nécessairement évident.
Il existe deux façons d'actualiser le cache:
Si IntelliSense ne fonctionne toujours pas, assurez-vous que IntelliSense est activé. Pour vérifier cela à partir de la fenêtre de l'éditeur de requête T-SQL de la base de données actuelle:
Vérifiez également que l'éditeur T-SQL ne se lance pas en mode SQLCMD. Vérifier:
J'ai eu ce problème, j'ai donc suivi les conseils de Ritesh D et je suis allé à Outils -> Options -> Éditeur de texte -> Transact-SQL -> Général . J'ai vérifié IntelliSense et j'ai trouvé qu'il était déjà activé.
Cependant, j'ai trouvé que les "Membres de la liste automatique" et les "Informations sur les paramètres" n'étaient pas cochés. Je les ai donc vérifiés. Cela a résolu mon problème.
Ces deux fonctionnalités sont ce que je considère comme "intellisense", et Microsoft n'est pas en désaccord :
IntelliSense est le terme général pour un certain nombre de fonctionnalités: liste des membres, informations sur les paramètres, informations rapides et mot complet. Ces fonctionnalités vous aident à en savoir plus sur le code que vous utilisez, à garder une trace des paramètres que vous tapez et à ajouter des appels aux propriétés et méthodes en quelques touches seulement.
Veuillez vérifier que la taille maximale du script est définie sur "Illimité" sous l'option de menu Outils -> Options -> Éditeur de texte -> Transact-SQL -> Général -> IntelliSense. Je l'ai fait et Intellisense a commencé à travailler
Lorsque vous utilisez une base de données distante avec une faible connexion de transfert (par exemple, je me suis connecté d'Europe au serveur de bureau de l'Asie lointaine) et lorsque la structure de la base de données n'est pas petite (par exemple, de nombreuses tables), il faut beaucoup plus de temps pour SSMS pour terminer toutes les données IntelliSense.
Dans mon cas, j'ai dû attendre plus d'une minute pour avoir IntelliSense accessible (connexion lente et db avec environ 1000 tables). (SSMS n'affiche aucun indicateur de progression ni aucune information liée au processus de chargement d'IntelliSense)
J'ai remarqué ce problème lorsque j'ai révoqué certaines autorisations à l'utilisateur public, comme suggéré par Azure. Cela a aidé à résoudre mon problème:
use master
go
GRANT EXECUTE ON [xp_instance_regread] TO [public]
GRANT EXECUTE ON [xp_regread] TO [public]
HORS LIGNE les bases de données peuvent entraîner l'arrêt du fonctionnement d'Intelissense. Vous pouvez le tester en mettant n'importe quelle base de données de votre serveur connecté en HORS LIGNE et en la rétablissant.
Je peux le confirmer en tant que bogue SQL 2016