Share via


Dépannage d'IntelliSense Transact-SQL

Dans certains cas, les options IntelliSense peuvent ne pas fonctionner comme prévu.

Disponibilité en ligne et hors connexion

Les options IntelliSense Liste des membres, Compléter le mot, Informations sur les paramètres et Infos express sont uniquement disponibles dans l'éditeur Transact-SQL sous certaines conditions. Pour plus d'informations sur ces fonctionnalités, consultez Vue d'ensemble d'IntelliSense Transact-SQL.

Deux facteurs principaux déterminent la disponibilité de ces fonctionnalités :

  • Connectivité à une instance de SQL Server : en cas de connexion à une instance de SQL Server, IntelliSense est disponible. Dans ce cas, les métadonnées IntelliSense sont dérivées de la connexion, même si le fichier que vous modifiez est associé à un projet de base de données.

  • Association à un projet de base de données : lorsque le fichier que vous modifiez avec l'éditeur Transact-SQL est associé à un projet de base de données, IntelliSense est disponible. Dans ce cas, si vous n'êtes pas connecté à une instance de SQL Server, les métadonnées IntelliSense sont dérivées des objets de base de données associés au projet.

Le tableau suivant décrit l'impact de ces facteurs sur la disponibilité des fonctionnalités : Liste des membres, Compléter le mot, Informations sur les paramètres et Infos express.

Connexion à une instance de SQL Server ?

Association à un projet de base de données ?

Disponible

Remarques

Oui

Oui

Oui

IntelliSense basé sur une connexion

Oui

Non

Oui

IntelliSense basé sur une connexion

Non

Oui

Oui

IntelliSense basé sur un projet

Non

Non

Non

Lorsque l'éditeur Transact-SQL est connecté à une instance de SQL Server, IntelliSense est disponible et affiche des objets associés à cette connexion de base de données. Lorsque l'éditeur Transact-SQL n'est pas connecté à une instance de SQL Server, les informations IntelliSense proviennent d'objets associés au projet de base de données. Si l'éditeur Transact-SQL n'est pas connecté à une instance de SQL Server ni associé à un projet de base de données, IntelliSense n'est pas disponible.

Les fonctionnalités d'analyse IntelliSense et la fonctionnalité Extraits de code Transact-SQL sont toujours disponibles, même quand l'éditeur n'est pas associé à un projet ni connecté à une instance de SQL Server.

Autres conditions qui affectent IntelliSense

Les conditions suivantes peuvent affecter le comportement d'IntelliSense :

  • Il y a une erreur de codage au-dessus du curseur.

    S'il existe une instruction incomplète ou une autre erreur de codage au-dessus du point d'insertion, IntelliSense ne peut pas analyser les éléments de code et par conséquent ne peut pas fonctionner. Pour réactiver IntelliSense, mettez en commentaire le code concerné.

  • Le point d'insertion est à l'intérieur d'un commentaire de code.

    Les options IntelliSense ne sont pas disponibles si le point d'insertion se trouve dans un commentaire de votre fichier source.

  • Le point d'insertion est à l'intérieur d'un littéral de chaîne.

    Les options IntelliSense ne sont pas disponibles si le point d'insertion se trouve à l'intérieur des guillemets entourant un littéral de chaîne, comme dans l'exemple suivant :

    WHERE FirstName LIKE 'Patri%|'

  • La fonctionnalité est désactivée.

    La plupart des fonctionnalités IntelliSense fonctionnent automatiquement par défaut. Vous pouvez toutefois désactiver n'importe quelle fonctionnalité.

Même quand la fonctionnalité Compléter le mot est désactivée, vous pouvez utiliser d'autres fonctionnalités IntelliSense. Pour plus d'informations, consultez Modifying IntelliSense Options.

Considérations relatives à l'éditeur Transact-SQL

Les problèmes suivants concernent l'éditeur Transact-SQL :

  • La fonctionnalité IntelliSense de l'éditeur Transact-SQL ne prend pas en charge tous les éléments syntaxiques Transact-SQL. L'aide sur les paramètres ne prend pas en charge les paramètres dans certains objets, tels que les procédures stockées étendues. Pour plus d'informations, consultez Syntaxe Transact-SQL prise en charge par IntelliSense.

  • IntelliSense n'est pas disponible dans l'éditeur Transact-SQL en cas de connexion à des versions du moteur de base de données SQL Server antérieures à SQL Server 2008.

  • IntelliSense n'est pas disponible dans l'éditeur Transact-SQL lorsque votre éditeur Transact-SQL n'est pas associé à un projet et que votre éditeur Transact-SQL n'est pas connecté à un moteur de base de données.

  • IntelliSense est désactivé dans l'éditeur Transact-SQL lorsque le mode SQLCMD est activé.

  • Les fonctionnalités IntelliSense ne couvrent pas les objets de base de données créés par une autre connexion après que votre fenêtre d'éditeur s'est connectée à la base de données. Vous pouvez choisir l'un de ces trois mécanismes pour actualiser le cache d'objets de votre fenêtre d'éditeur :

  • En cas de connexion à une instance de SQL Server, le cache IntelliSense ne reflétera pas les modifications effectuées si vous ou d'autres utilisateurs exécutez des commandes CREATE, ALTER ou DROP sur cette instance pendant votre session de modification Transact-SQL. Pour mettre à jour le cache IntelliSense, sélectionnez le menu Edition, IntelliSense, puis Actualiser le cache local

  • Utilisez le raccourci clavier CTRL+K suivi par CTRL+R.

  • Les listes de saisie semi-automatique n'incluent pas les objets de base de données pour lesquels vous n'avez pas d'autorisations. IntelliSense signale les références aux objets pour lesquels vous disposez d'autorisations. Par exemple, si vous ouvrez un script écrit par un autre utilisateur, toute référence à un objet pour lequel cette personne dispose d'autorisations, contrairement à vous, est signalée comme incorrecte.

  • Les listes de saisie semi-automatique peuvent cesser de fonctionner si vous perdez la connexion à l'instance de SQL Server. Rétablissez la connexion à l'instance.

Voir aussi

Autres ressources

Vue d'ensemble d'IntelliSense Transact-SQL

Utilisation de la correspondance des séparateurs Transact-SQL

Utilisation d'extraits de code Transact-SQL

Syntaxe Transact-SQL prise en charge par IntelliSense