Intellisense di SQL Server Management Studio 2008
-
05-07-2019 - |
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 ")?
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.
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 locale4) 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:
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.
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.