nom d'objet SQL server non valide - mais les tables sont répertoriées dans la liste des tables SSMS

J'essaie de créer un Stored Procedure pour une base de données nouvellement créée. Cependant, l'intellisense SSMS ne reconnaît pas plus de la moitié des tables qui ont été créées.

Par exemple, alors que dans la colonne de gauche sous tables j'ai une table dbo.Room, Quand je tape "dbo." dans la nouvelle fenêtre de requête, cette table n'est pas listée, en fait seulement 17 des 37 tables sont listées.

Je ne vois aucune différence entre les tables listées par intellisense et celles qui ne le sont pas. Si je tape manuellement dbo.Chambre, il est souligné, avec une erreur de

Nom D'objet non valide ' dbo.Chambre'..

Ai-je manqué quelque chose dans la mise en place des tables?

UPDATE: j'ai essayé l'actualisation de la liste des tables (plusieurs fois)

264
demandé sur DineshDB 2009-09-01 17:36:53

13 réponses

Essayez:

Modifier -> IntelliSense -> Actualisation Du Cache Local

Cela devrait actualiser les données mises en cache par Intellisense pour fournir la prise en charge de typeahead et la détection des erreurs de pré-exécution.

Remarque: votre curseur doit être dans l'éditeur de requête pour que le menu IntelliSense soit visible.

575
répondu Adam Robinson 2018-10-11 13:18:27

Ctrl + Maj + R actualise intellisense dans management studio 2008.

64
répondu Zielyn 2017-06-30 13:19:56

Une fois que vous créez un nouvel objet SQL Server, votre objet nouvellement créé n'est pas mis à jour dans le Cache local IntelliSence et, pour cette raison, il affiche une ligne rouge sous cet objet. Vous avez donc juste besoin d'actualiser le Cache local SSMS IntelliSence et une fois que vous l'actualisez, IntelliSence ajoutera automatiquement l'objet nouvellement créé dans le cache et la ligne rouge disparaîtra. essayez ceci

Edit -> IntelliSense -> Refresh Local Cache ou Ctrl + Maj + R

entrez la description de l'image ici

32
répondu Nagaraj S 2014-03-19 06:48:57

Dans mon cas, le cache IntelliSense listait les informations d'objet pour une base de données entièrement différente. Si j'ai cliqué sur le bouton" nouvelle requête " dans SSMS, il ouvrirait une requête à mon catalogue par défaut sur le serveur et cet éditeur de requête n'utiliserait toujours que cette base de données. L'actualisation du cache n'a rien changé. Redémarrer SSMS n'a rien changé. Changer la base de données n'a rien changé.

J'ai fini par créer une requête en cliquant avec le bouton droit sur la base de données que je voulais réellement pour utiliser et choisir "nouvelle requête" dans ce menu contextuel. maintenant SSMS utilise les objets corrects pour IntelliSense.

14
répondu Bacon Bits 2017-05-31 14:28:46

Êtes-vous certain que la table en question existe?

Avez-vous actualisé la vue table dans L'Explorateur D'objets? Cela peut être fait en cliquant avec le bouton droit sur le dossier" tables " et en appuyant sur la touche F5.

Vous devrez peut-être aussi rééchelonner le cache Intellisense.

Cela peut être fait en suivant le menu route: Edit - > IntelliSense - > Refresh Local Cache

9
répondu John Sansom 2013-03-12 12:03:24

La solution est:

  • Cliquez sur Requête de menu,
  • Cliquez ensuite sur "Modifier la base de données".
  • Sélectionnez le nom de votre base de données appropriée.

C'est ça.

7
répondu Tono FRL 2014-10-30 05:02:04

Assurez-vous que la base de données sélectionnée est celle où se trouve la table. J'exécutais le Script sur Master. Dans mon cas, j'ai dû passer à hr_db.

entrez la description de l'image ici

Erreur recrue mais, pourrait aider quelqu'un.

7
répondu Daniel Segura 2018-03-16 06:17:51

Même après l'installation de SP3 sur SQL Server 2008 Enterprise, il s'agit toujours d'un "problème"."Ctrl+Maj+R comme tout le monde a dit résolu ce problème pour moi.

5
répondu demmith 2013-03-12 12:04:13

Même problème avec moi quand j'ai utilisé ce problème de syntaxe Résolu.

Syntaxe:

Use [YourDatabaseName]
Your Query Here
3
répondu 2016-12-08 08:45:02

Résolu pour SSMS 2016.

Avait un problème similaire, mais Intellisense n'était pas dans le menu Édition.

Ce qui semblait résoudre le problème était D'activer et de désactiver Intellisens, faites un clic droit sur L'éditeur SQL et cliquez sur 'Intellisense activé'. Faites un clic droit à nouveau sur 'Intellisense Enabled' pour le rallumer. Ctr Q, je le fais aussi.

Cela a résolu le problème, et je sais aussi obtenir l'Intellisense dans le menu Edition.

2
répondu Eric Yeoman 2017-03-30 09:23:14

Avez-vous essayé: faites un clic droit sur la base de données, et cliquez sur "Actualiser"

1
répondu KM. 2009-09-01 13:45:44

Je me rends compte que cette question a déjà été répondue, cependant, j'avais une solution différente:

Si vous écrivez un script où vous déposez les tables sans les recréer, ces tables apparaîtront comme manquantes si vous essayez de les référencer plus tard.

Note: cela ne va pas se produire avec un script qui est constamment exécuté, mais il est parfois plus facile d'avoir un script avec des requêtes à reerence que de les taper à chaque fois.

1
répondu Troy Loberger 2014-05-29 14:45:18

J'ai juste dû fermer SMSS et le rouvrir. J'ai essayé D'actualiser le Cache Local et cela n'a pas fonctionné.

1
répondu stealthysnacks 2017-06-23 16:21:05