Question

Je viens d'installer SQL Server Express 2008 en raison de la fonctionnalité IntelliSense. Cela a fonctionné au début, mais cela a cessé de fonctionner. À la recherche de l'option de vérification et de consultation ultérieure de Google, j'ai constaté qu'il ressemblait à Microsoft désactivé intellisense si vous vous connectez à des bases de données SQL Server 2005.

Est-ce absolument correct?
Existe-t-il une solution à cela (certains registres & switch; " switch ")?

Était-ce utile?

La solution

Si vous souhaitez voir la fonctionnalité ajoutée, votez pour la demande sur Connect . Voici les commentaires de l'équipe sur les raisons de son abandon:

  

Permettez-moi de partager les informations de l'équipe produit   informations sur le support de version   d'IntelliSense. C'était vraiment   conception dès le début de   Projet IntelliSense et c’était une partie   de décision d'affaires. la mise en oeuvre   IntelliSense nécessite une pleine   fidélité de l'analyseur de moteur   reconstruction du côté client en utilisant   base de code managé. Prise en charge de plusieurs   versions de serveur signifie conception et   mise en œuvre de plusieurs versions de   analyseurs syntaxiques et infra associés en parallèle.   Ceci multiplie le temps et les coûts pour   développer, tester et supporter. Au même   temps, le module de base est un élément important   base de produits qui permet non seulement   Fonctionnalité IntelliSense mais aussi d'autres   produits, y compris Upgrade Advisor to   analyser des scripts; à long terme, il   est potentiellement toute fonctionnalité qui a besoin   compréhension syntaxique et sémantique   du langage Transact-SQL.

     

Dans CTP5 et CTP6, IntelliSense avait une   problème connu qu'il n'a pas correctement   vérifier la version du serveur afin que les utilisateurs CTP   pourrait connecter n'importe quelle version de SQL   Serveur avec IntelliSense. Tandis que certaines   les utilisateurs ne l'ont pas remarqué, IntelliSense   ne fonctionnait pas correctement comme souhaité.   L’impact était que IntelliSense avait un   fort potentiel pour guider les utilisateurs vers   script incorrect Transact-SQL ou à   faux-négatif indique qu'un   le script a des erreurs pendant qu'il est   parfaitement valable dans ces versions.

     

Considérant l'objectif numéro un de   IntelliSense est d'augmenter   la productivité du complexe auteur   requête ou procédure stockée (ou simplement   Scripts Transact-SQL), ce problème était   considéré comme un facteur de diminution   la productivité qui est un énorme négatif   impact d'une nouvelle fonctionnalité.

     

Dans RC0, ce problème connu a été corrigé.   qu'IntelliSense vérifie le serveur   version et fournit sa fonctionnalité sur   version prise en charge qui est SQL Server   2008.

     

En tant que version 1, IntelliSense est   activé sur un sous-ensemble de Transact-SQL   la langue. C'est parce que le grand   portée des travaux pour mettre en œuvre le lexer,   analyseur, classeur et script   modèle d'objet dans le code géré pour   toute la portée de la langue. Le produit   l'équipe avance en mettant l'accent sur   élargir la portée de la prise en charge linguistique.

     

J'espère que cette information fournit la   informations de base au minimum pourquoi   la version cible a été sélectionnée sur SQL   Server 2008 uniquement.

Toute personne utilisant la version RTM doit considérer la version CU1 (version mise à jour cumulative 1) disponible ici . de nombreux bugs IntelliSense ont été corrigés.

Autres conseils

Un autre outil gratuit à ajouter à la liste est ApexSQL complet . Je l'utilise depuis plusieurs mois et je le trouve un peu mieux que SSMS intellisense car il fournit des info-bulles plus utiles.

En règle générale, vous ne pouvez pas vous tromper avec l’un des outils mentionnés ici, surtout si vous êtes prêt à payer pour des outils premium.

SQLPrompt de Red-Gate fait très bien son travail, qu’il s’agisse de toutes les versions (2000, 2005 et 2008), qu’il opère dans VS et même dans certains éditeurs de texte.

Il est vrai qu'intelliSense dans SSMS fonctionne uniquement avec SQL Server 2008.

Nous avons récemment publié un outil de saisie semi-automatique pour SSMS - dbForge SQL Complete , qui fournit la fonctionnalité de saisie semi-automatique et de mise en forme SQL pour SQL Server 2008, 2005 et 2000.

dbForge SQL Complete - vue principale

Je ne pense pas qu'il existe un moyen de contourner ce problème (bien que je puisse me tromper), mais this peut vous aider dans votre quête de la vérité; -)

Apparemment, intellisense suggérait une syntaxe "incorrecte" pour les bases de données antérieures à 2008 lors du CTP et a été supprimé de la RTM.

Un collègue et moi-même avons installé SQL Server Management Studio 2008 et nous nous connectons tous les deux aux mêmes bases de données SQL Server 2005 et 2008. Il obtient intellisense pour 2005 et 2008. Je ne l’obtiens que pour 2008. Nous ne pouvons pas comprendre pourquoi.

CORRECTION: il se trouve que mon collègue pensait qu'il se connectait à un serveur de 2005, mais c'était en fait un serveur de 2008.

Conclusion: après avoir consulté nos administrateurs de bases de données, cela ne semble pas possible. Ils ont également effectué des recherches approfondies à ce sujet.

Si vous avez installé la version correcte et si vous n'avez toujours pas Intellisense this peut vous aider.

  

1) Assurez-vous d'être connecté à SQL Server 2008 Edition.   IntelliSense ne fonctionne pas avec les versions précédentes de SQL Server.

     

2) IntelliSense devrait être activé. Il y a deux façons de vérifier   si IntelliSense est activé ou non. a) Depuis la barre d’outils b) Allez dans Outils   - > Options - > Éditeur de texte - > Transact-SQL - > IntelliSense

     

3) IntelliSense doit être actualisé avec les dernières modifications apportées à   base de données.
  a) Appuyez sur CTRL + MAJ + R   b) Allez dans Modifier - > IntelliSense - > Actualiser le cache local

     

4) Accédez à Outils - > Options - > Éditeur de texte - > Transact-SQL - > Général - >   IntelliSense Sélectionnez Liste automatique des membres et vérifiez les informations de paramètre.

  

le moteur de base de données SQL Server 2008 contient du code qui prend en charge la fonctionnalité intellisense de Management Studio 2008.

Non, il n'y en a pas. Vous avez tout à fait tort et vous devriez être giflé avec un poisson mouillé.

Il ne fait qu'interroger les différentes tables virtuelles INFORMATION_SCHEMA pour effectuer une découverte. La raison pour laquelle ils l'ont désactivée par rapport aux versions précédentes est qu'en théorie, cela pourrait vous inciter à utiliser une syntaxe valable uniquement pour 2005, mais que beaucoup de personnes l'utilisaient avec un succès de 100%. Bien sûr, la vraie raison pour laquelle ils l’ont désactivée est qu’elle réduisait l’avantage de la mise à niveau de vos serveurs jusqu’en 2008 (c’est là qu’ils gagnent de l’argent réel).

Vous pouvez utiliser intellisense dans DbOctopus - fonctionne également avec SQL Server 2005 et 2000. C'est actuellement gratuit, mais seulement jusqu'au 1er septembre 2009.

Vous pouvez le trouver ici:

http://www.cogin.com/dboctopus/

En passant, nous avons récemment publié une nouvelle version de SQL Complete proposant un tas de nouvelles fonctionnalités . Toutes les nouvelles fonctionnalités sont disponibles dans l’édition standard du shareware (30 jours d’essai gratuit, 49,95 $).

Vous pouvez toujours obtenir toutes les fonctionnalités de base, similaires à la v. 1.0, avec Express Edition.

N'y pensez pas tellement qu'ils ont désactivé intellisense dans SQL Server 2005, au point que SQL Server 2005 n'a pas été conçu avec le support intellisense; le moteur de base de données SQL Server 2008 contient du code qui prend en charge la fonctionnalité intellisense de Management Studio 2008.

Oui, je sais que semblait fonctionner dans les aperçus CTP ultérieurs, mais certaines recherches sur Google (et le lien de DilbertDave) révèlent que le comportement de CTP a été rompu de plusieurs manières.

Utilisez simplement crapaud, waaaaay mieux que n’importe quel outil Microsoft. Il existe une version gratuite.

Toad Soft

J'utilise Atlantis SQL Enywhere, un logiciel gratuit, depuis près d'un an maintenant et j'en suis vraiment impressionné. Fonctionne avec les versions SQL 2005 et SQL 2008. Je suis vraiment impressionné par ses fonctionnalités et les raccourcis clavier sont similaires à ceux de VS. La transition vers un nouvel éditeur est ainsi facilitée.

Certaines des fonctionnalités qu'il convient de mentionner.

Intellisense qui fonctionne réellement lors de l’utilisation de plusieurs tables et jointures avec des alias. Suggestion de jointures lors de l’utilisation de plusieurs tables (réduction du temps lors de la frappe, vraiment soignée). Formatage riche de code SQL, AutoIndent utilisant Ctrl K, Ctrl D. Meilleure représentation des plans SQL . Met en évidence les déclarations de variables pendant leur utilisation. Définition de la table lors du survol de la souris.

Toutes ces fonctionnalités m'ont permis de gagner beaucoup de temps.

Je ne l'ai pas encore vérifié sur SQL 2012.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top