Domanda

Ho appena installato SQL Server Express 2008 a causa della funzione intellisense. Inizialmente ha funzionato, ma poi ha smesso di funzionare. Cercando l'opzione per controllare e successivamente consultare Google, ho scoperto che sembra Microsoft disabilitato intellisense se ti connetti ai database di SQL Server 2005.

È assolutamente corretto?
C'è qualche soluzione per questo (un po 'di registro " switch ")?

È stato utile?

Soluzione

Se desideri vedere la funzionalità aggiunta, vota per la richiesta su Collegare . Ecco il feedback del team sul motivo per cui è stato eliminato:

  

Fammi condividere il team di prodotti & # 8217; s   informazioni sul supporto della versione   di IntelliSense. Questo è stato davvero   by-design dall'inizio di   Progetto IntelliSense ed era una parte   di decisione economica. Implementazione   di IntelliSense richiede un pieno   fedeltà del parser del motore   ricostruzione nel lato client utilizzando   base di codice gestita. Supporto di più   versioni server significa design e   implementazione di più versioni di   parser e relativi infra in parallelo.   Questo moltiplica tempo e costi a   sviluppare, testare e supportare. Allo stesso   tempo, il modulo principale è un importante   base di prodotti che consente non solo   Funzionalità IntelliSense ma anche altre   prodotti tra cui Upgrade Advisor a   analizzare gli script; a lungo termine   è potenzialmente qualsiasi caratteristica che ha bisogno   comprensione sintattica e semantica   del linguaggio Transact-SQL.

     

In CTP5 e CTP6, IntelliSense aveva un   noto problema che non ha funzionato correttamente   controlla la versione del server in modo che gli utenti CTP   potrebbe connettere qualsiasi versione di SQL   Server con IntelliSense. Mentre alcuni   gli utenti non se ne sono accorti, IntelliSense   non funzionava correttamente come desiderato.   L'impatto è stato che IntelliSense ha avuto un   alto potenziale per guidare gli utenti a   script Transact-SQL errato o su   indicare in modo falso-negativo che a   lo script ha errori mentre lo è   perfettamente valido in quelle versioni.

     

Considerando l'obiettivo numero uno di   IntelliSense è aumentare   produttività del complesso autorevole   query o stored procedure (o semplicemente   Script Transact-SQL), questo problema era   considerato come un fattore per diminuire   produttività che è un enorme aspetto negativo   impatto da una nuova funzione.

     

In RC0, questo problema noto è stato corretto   che IntelliSense controlla il server   versione e fornisce la sua funzionalità su   versione supportata che è SQL Server   Del 2008.

     

Come versione uno, IntelliSense è   abilitato su un sottoinsieme di Transact-SQL   linguaggio. È perché il grande   ambito di lavoro per attuare lexer,   parser, legante e documento di script   modello a oggetti nel codice gestito per   ambito linguistico completo. Il prodotto   squadra sta andando avanti con un focus su   espandere l'ambito del supporto linguistico.

     

Spero che queste informazioni forniscano il   informazioni di base al minimo perché   la versione di destinazione è stata selezionata su SQL   Solo Server 2008.

Chiunque utilizzi la build RTM dovrebbe considerare disponibile la build CU1 (Aggiornamento cumulativo 1) qui poiché sono stati risolti alcuni bug di IntelliSense.

Altri suggerimenti

Un altro strumento gratuito da aggiungere all'elenco qui è ApexSQL Complete . L'ho usato negli ultimi mesi e lo trovo un po 'meglio dell'intellisense di SSMS perché fornisce tooltip più utili.

In generale, non puoi sbagliare con nessuno degli strumenti menzionati qui, specialmente se sei pronto a pagare per strumenti premium.

SQLPrompt di Red-Gate fa abbastanza bene il lavoro, in tutte le versioni (2000, 2005 e 2008), oltre a funzionare all'interno di VS e persino di alcuni editor di testo.

È vero che intellisense in SSMS funziona solo per SQL Server 2008.

Di recente abbiamo rilasciato uno strumento di completamento automatico per SSMS - dbForge SQL Complete , che fornisce il completamento automatico SQL e la funzionalità di formattazione per SQL Server 2008, 2005 e 2000.

dbForge SQL Complete - vista principale

Non credo che ci sia un modo per aggirare questo problema (anche se potrei sbagliarmi) ma questo può aiutarti nella tua ricerca della verità ;-)

Sembra che intellisense suggerisse una sintassi "errata" per i database precedenti al 2008 durante il CTP ed è stata rimossa nel RTM.

Un collega e io abbiamo entrambi installato SQL Server Management Studio 2008 ed entrambi ci colleghiamo agli stessi database SQL Server 2005 e 2008. Ottiene l'intellisense sia per il 2005 che per il 2008. L'ho appena ricevuto per il 2008. Non possiamo capire perché questo sia.

CORREZIONE: Si scopre che il mio collega pensava che si stesse connettendo a un server del 2005, ma in realtà era un server del 2008.

Conclusione: dopo aver consultato i nostri DBA non sembra possibile. Hanno anche svolto ricerche approfondite su questo.

Se hai installato la versione corretta e se non hai ancora Intellisense questo può aiutarti.

  

1) Assicurarsi di essere connessi a SQL Server 2008 Edition.   IntelliSense non funziona con le versioni precedenti di SQL Server.

     

2) IntelliSense dovrebbe essere abilitato. Esistono due modi per verificare   se IntelliSense è abilitato o meno. a) Dalla barra degli strumenti b) Vai su Strumenti   - > Opzioni - > Editor di testo - > Transact-SQL - > IntelliSense

     

3) IntelliSense dovrebbe essere aggiornato con le ultime modifiche in   database.
  a) Premere CTRL + MAIUSC + R   b) Vai a Modifica - > IntelliSense - > Aggiorna cache locale

     

4) Vai su Strumenti - > Opzioni - > Editor di testo - > Transact-SQL - > Generale - >   IntelliSense Seleziona membri elenco automatico e verifica informazioni sui parametri.

  

nel motore di database di SQL Server 2008 è presente codice che supporta la funzionalità intellisense in Management Studio 2008.

No non c'è. Ti sbagli completamente e dovresti schiaffeggiarlo con un pesce bagnato.

Tutto ciò che sta facendo è interrogare le varie tabelle virtuali di INFORMATION_SCHEMA per fare scoperta. Il motivo per cui l'hanno disabilitato rispetto alle versioni precedenti è che teoricamente potrebbe incoraggiarti a utilizzare una sintassi valida solo rispetto al 2005, ma molte persone lo usavano con successo al 100%. Naturalmente il vero motivo per cui hanno disabilitato è che ha ridotto un vantaggio dell'aggiornamento dei server al 2008 (che è dove fanno i soldi veri).

Puoi usare intellisense in DbOctopus - funziona anche con SQL Server 2005 e 2000. È attualmente gratuito, ma solo fino al 1 ° settembre 2009.

Puoi trovarlo qui:

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

A proposito, recentemente abbiamo rilasciato una nuova versione di SQL Complete che offre un tante nuove funzionalità . Tutte le nuove funzionalità sono disponibili in shareware Standard Edition (prova gratuita di 30 giorni, $ 49,95).

Puoi comunque ottenere tutte le funzionalità di base, simili alla v. 1.0, con Express Edition.

Non pensarci così tanto che disabilitato intellisense in SQL Server 2005, tanto che SQL Server 2005 non è stato creato pensando al supporto di intellisense; esiste un codice nel motore di database di SQL Server 2008 che supporta la funzionalità intellisense in Management Studio 2008.

Sì, lo so che sembrava funzionare nelle successive anteprime del CTP, ma alcuni googling (e il link di DilbertDave) rivelano che c'erano diversi modi in cui il comportamento CTP era rotto.

Usa solo il rospo, meglio di qualsiasi altro strumento Microsoft. C'è una versione freeware.

Toad Soft

Uso Atlantis SQL Enywhere, un software gratuito, ormai da quasi un anno e ne sono rimasto davvero colpito. Funziona con le versioni SQL 2005 e SQL 2008. Sono davvero colpito dalle sue funzionalità e le scorciatoie da tastiera sono simili a VS, quindi rende la transizione davvero fluida a un nuovo editor.

Alcune delle caratteristiche che vale la pena menzionare.

Intellisense che funziona effettivamente quando si utilizzano più tabelle e join con alias Suggerimento di join quando si utilizzano più tabelle (riduce il tempo di digitazione, davvero pulito) Formattazione avanzata del codice sql, AutoIndent utilizzando Ctrl K, Ctrl D. Migliore rappresentazione dei piani SQL . Evidenzia le dichiarazioni delle variabili mentre vengono utilizzate. Definizione della tabella al passaggio del mouse.

Tutte queste funzionalità mi hanno fatto risparmiare molto tempo.

Non l'ho ancora verificato su SQL 2012.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top