2008-10-30 53 views
26

Acabo de instalar SQL Server Express 2008 debido a la función intellisense. Funcionó al principio, pero dejó de funcionar. Buscando la opción de verificar y luego consultar con Google, he encontrado que parece que Microsoft está deshabilitado intellisense si se conecta a las bases de datos de SQL Server 2005.SQL Server Management Studio 2008 Intellisense

¿Es esto absolutamente correcto?
¿Hay alguna solución para esto (algún "interruptor" de registro)?

Respuesta

25

Si desea ver la función añadida, vote por la solicitud en Connect. Aquí está la retroalimentación del equipo con respecto a por qué se dejó caer:

Permítanme compartir información del equipo de producto sobre el soporte de la versión de IntelliSense. Este fue un verdadero diseño desde el comienzo del proyecto IntelliSense y fue una parte de la decisión comercial . Implementación de IntelliSense requiere una fidelidad completa de del analizador del motor reconstrucción en el lado del cliente utilizando base de código administrado. El soporte de múltiples versiones de servidor significa el diseño y la implementación de múltiples versiones de analizadores e infra relacionados en paralelo. Esto multiplica el tiempo y el costo a desarrollo, prueba y soporte.Al mismo tiempo , el módulo principal es una base de producto importante que habilita no solo la característica IntelliSense sino también otros productos que incluyen Asesor de actualizaciones a análisis de scripts; a largo plazo, es potencialmente cualquier característica que necesite comprensión sintáctica y semántica del lenguaje Transact-SQL.

En CTP5 y CTP6, IntelliSense tenían un problema sabido que no lo hizo correctamente comprobar la versión del servidor para que los usuarios CTP podría conectar cualquier versión de SQL Server con IntelliSense. Mientras que algunos usuarios de no lo notaron, IntelliSense no funcionaba correctamente. El impacto fue que tenía un IntelliSense alto potencial para guiar a los usuarios a escritura incorrecta de Transact-SQL o en indicar falsamente negativa que tiene una secuencia de comandos errores si bien es perfectamente válido en esas versiones.

Teniendo en cuenta el objetivo número uno de IntelliSense es aumentar productividad de la autoría de complejo consulta o un procedimiento almacenado (o simplemente secuencias de comandos Transact-SQL), este tema fue considerado como un factor de disminución productividad cuales es un gran impacto negativo de una nueva característica.

En RC0, este problema conocido se corrigió que IntelliSense comprueba la versión del servidor y proporciona su función en versión compatible que es SQL Server 2008.

Como una versión uno, IntelliSense está habilitado en un subconjunto del lenguaje Transact-SQL . Esto se debe a que el amplio alcance del trabajo de para implementar lexer, analizador, enlazador y script documenta modelo de objetos en código administrado para alcance del lenguaje completo. El equipo del producto está avanzando con un enfoque en expandiendo el alcance del soporte de idiomas.

Espero que esta información se proporciona la información fondo, como mínimo, por eso la versión de destino fue seleccionado en SQL Server 2008 única.

Cualquier persona que use la versión RTM debe considerar el CU1 (actualización acumulativa 1) construir disponibles here como se abordaron bastantes errores de IntelliSense.

+0

¡Ahora está "Cerrado como por diseño"! :( – CoderHawk

6

Me Don; t piensa que hay una forma de evitar esto (aunque podría estar equivocado), pero this puede ayudar en su búsqueda de la verdad ;-)

Parece que intelisense estaba sugiriendo sintaxis 'incorrecta' para bases de datos anteriores a 2008 durante CTP y se eliminaron en el RTM.

+0

Actualicé mi respuesta con el enlace 'raíz' de Microsoft. – DilbertDave

0

No lo piense tanto que deshabilitado intellisense en SQL Server 2005 tanto como que SQL Server 2005 no se construyó con soporte de intellisense en mente; no hay código en el motor de base de datos SQL Server 2008 que admite la función de IntelliSense en Management Studio 2008.

Sí, ya sé que parecía para trabajar en las vistas previas CTP posteriores, pero algunas google (y el enlace de DilbertDave) revela que Hubo varias formas en que se rompió el comportamiento del CTP.

0

Solo use sapo, waaaaay mejor que cualquier herramienta de Microsoft. Hay una versión gratuita.

Toad Soft

+0

Toad? ¿Seriamente? ¡Uf! –

+0

¿Qué tiene de malo Toad? – Kev

+1

Quizás nada: han pasado unos 4 años desde la última vez que tuve que usarlo. Pero tengo recuerdos muy feos de esa experiencia. –

2

Un compañero de trabajo y no tengo tanto instalado SQL Server Management Studio 2008 y ambos se conectan al mismo SQL Server 2005 y 2008 bases de datos. Se pone inteligente tanto en 2005 como en 2008. Simplemente lo obtengo en 2008. No podemos entender por qué es así.

CORRECCIÓN: Resulta que mi compañero de trabajo pensó que se estaba conectando a un servidor 2005 pero en realidad era un servidor 2008.

Conclusión: después de consultar con nuestros DBA, no parece posible. También han investigado extensamente sobre esto.

12

SQLPrompt de Red-Gate hace el trabajo bastante bien, en todas las versiones (2000, 2005 y 2008), además de funcionar dentro de VS e incluso algunos editores de texto.

1

hay código en el motor de base de SQL Server 2008 que admite la función de IntelliSense en Management Studio 2008.

n no lo hay. Estás completamente equivocado, y debes abofetearlo con un pez mojado.

Todo lo que hace es interrogar a varias tablas virtuales INFORMATION_SCHEMA para hacer un descubrimiento. La razón por la que lo deshabilitaron con versiones anteriores es que teóricamente podría alentarlo a utilizar una sintaxis que solo es válida contra 2005, pero muchas personas la usaban con un 100% de éxito.Por supuesto, el verdadero razón por la que lo deshabilitaron es que redujo una ventaja de actualizar sus servidores a 2008 (que es donde hacen el dinero real).

+4

De acuerdo con el hilo en Connect, reprodujeron el motor de análisis del lado del servidor en el lado del cliente. El comentario que cita es en realidad en su mayoría correcto. – Rick

1

Puede usar intellisense en DbOctopus: funciona con SQL Server 2005 y 2000 también. En la actualidad es gratis, pero sólo hasta el 1 de septiembre de 2009.

Usted puede encontrar aquí:

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

8

Es cierto que IntelliSense en SSMS funciona solamente para SQL Server 2008.

Recientemente hemos publicado una herramienta de autocompletar para SSMS - dbForge SQL Complete, que proporciona autocompletar SQL y funcionalidad de formato para SQL Server 2008, 2005 y 2000.

dbForge SQL Complete - main view

1

Por cierto, recientemente hemos lanzó una nueva versión de SQL Complete que ofrece un bunch of new features. Todas las funciones nuevas están disponibles en Shareware Standard Edition (30 días de prueba gratuita, $ 49.95).

Aún puede obtener todas las funciones básicas, similares a v. 1.0, con Express Edition.

2

Si ha instalado la versión correcta y si aún no lo ha hecho, la Intellisense this puede ayudarlo.

1) Asegúrese de estar conectado a SQL Server Edición 2008. IntelliSense no funciona con las versiones anteriores de SQL Server.

2) IntelliSense debe estar habilitado. Hay dos maneras de verificar si IntelliSense está habilitado o no. a) A partir de la barra b) Ir a las herramientas -> Opciones -> Editor de texto -> Transact-SQL -> IntelliSense

3) IntelliSense se debe actualizar con los últimos cambios en base de datos.
a) Pulse CTRL + SHIFT + R b) Ir a Editar -> IntelliSense -> Actualizar caché local

4) Ir a Herramientas -> Opciones -> Editor de texto -> Transact-SQL -> General -> IntelliSense Seleccione Miembros de la lista automática y compruebe la información de los parámetros.

+0

Gracias por el puntero a la necesidad de actualizar el caché local, estaba confundirse en cuanto a por qué estaba obteniendo la línea roja ondulada – SteveC

16

Una herramienta más gratuita para agregar a la lista aquí es ApexSQL Complete. Lo he estado usando durante los últimos meses y lo encuentro un poco mejor que SSMS intellisense porque proporciona información de ayuda más útil.

Generalmente, no puede fallar con ninguna de las herramientas mencionadas aquí, especialmente si está listo para pagar por herramientas premium.

+0

¡Funciona muy bien para mí! El único problema es que requiere un poco de recursos intensivos y bloquea el SSMS a veces. Podría ser por mi VPN o máquina. ¡sigue usándolo! – JoeFletch

0

He estado utilizando Atlantis SQL Enywhere, un software gratuito, desde hace casi un año y estoy realmente impresionado con él. Funciona con SQL 2005 y SQL 2008 versiones. Estoy realmente impresionado con sus funciones y los atajos de teclado son similares a VS, por lo que la transición es realmente fluida para un nuevo editor.

Algunas de las características que vale la pena mencionar.

Intellisense que realmente funciona cuando se usan varias tablas y combinaciones con alias Sugerencia de combinaciones cuando se usan varias tablas (reduce el tiempo de tipeo, realmente ordenado) Formateo rico del código sql, AutoIndent usando Ctrl K, Ctrl D. Mejor representación de SQL planes. Destaca las declaraciones de variables mientras se usan. Definición de tabla en el desplazamiento del mouse.

Todas estas características me han ahorrado mucho tiempo.

Aún no he comprobado esto en SQL 2012.

Cuestiones relacionadas