Pregunta

Acabo de instalar SQL Server Express 2008 debido a la característica intellisense. Funcionó al principio pero que dejó de funcionar. Buscando la opción de consultar y consultar más tarde a Google, descubrí que parece que Microsoft deshabilitó la inteligencia si se conecta a las bases de datos de SQL Server 2005.

¿Esto es absolutamente correcto?
¿Hay alguna solución para esto (algún registro " switch ")?

¿Fue útil?

Solución

Si desea ver la característica agregada, vote por la solicitud en Conectar . Aquí hay comentarios del equipo con respecto a por qué se eliminó:

  

Permítame compartir el equipo de producto   Información sobre el soporte de versión.   de IntelliSense. Este fue un verdadero   by-design desde el principio de   Proyecto IntelliSense y fue parte.   de decisión empresarial. Implementación   de IntelliSense requiere una completa   fidelidad del analizador motor   reconstrucción en el lado del cliente usando   base de código gestionado. Soporte de multiples   versiones de servidor significa diseño y   Implementación de múltiples versiones de   analizadores e infra relacionados en paralelo.   Esto multiplica el tiempo y el costo de   Desarrollar, probar y apoyar. Al mismo   tiempo, el módulo central es un importante   Base de producto que permite no solo   Característica de IntelliSense pero también otra   productos que incluyen Upgrade Advisor   analizar guiones; 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ía un   problema conocido que no lo hizo correctamente   Verifique la versión del servidor para que los usuarios de CTP.   Podria conectar cualquier versión de SQL   Servidor con IntelliSense. Mientras algunos   Los usuarios no lo notaron, IntelliSense.   no estaba funcionando correctamente como se desea.   El impacto fue que IntelliSense tuvo una   alto potencial para guiar a los usuarios a   script incorrecto Transact-SQL o para   falso-negativo indica que una   La secuencia de comandos tiene errores mientras está   perfectamente válido en esas versiones.

     

Teniendo en cuenta el objetivo número uno de   IntelliSense es aumentar   productividad del complejo de autoría   consulta o procedimiento almacenado (o simplemente   Secuencias de comandos Transact-SQL), este problema era   considerado como un factor para disminuir   productividad que es un gran negativo   impacto de una nueva característica.

     

En RC0, este problema conocido fue corregido   que IntelliSense comprueba el servidor   versión y proporciona su característica en   versión compatible que es SQL Server   2008.

     

Como una versión uno, IntelliSense es   habilitado en un subconjunto de Transact-SQL   idioma. Es porque el gran   alcance del trabajo para implementar lexer,   analizador, carpeta y documento de script   modelo de objeto en código gestionado para   Ámbito lingüístico completo. El producto   El equipo está avanzando con un enfoque en   expandiendo el alcance del soporte de idioma.

     

Espero que esta información proporcione la   información de antecedentes como mínimo por qué   La versión de destino fue seleccionada en SQL   Sólo servidor 2008.

Cualquier persona que use la versión RTM debe considerar la versión CU1 (Actualización acumulativa 1) disponible aquí Se solucionaron algunos errores de IntelliSense.

Otros consejos

Otra herramienta 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 el SSMS intellisense porque proporciona información sobre herramientas más útil.

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

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

Es cierto que intellisense en SSMS funciona solo para SQL Server 2008.

Recientemente hemos lanzado una herramienta de autocompletado para SSMS - dbForge SQL Complete , que proporciona la funcionalidad de autocompletar y formatear de SQL para SQL Server 2008, 2005 y 2000.

dbForge SQL Complete - vista principal

No; no creo que haya una forma de evitar esto (aunque podría estar equivocado) pero esto puede ayudarte en tu búsqueda de la verdad ;-)

Parece que intellisense estaba sugiriendo una sintaxis "incorrecta" para las bases de datos anteriores a 2008 durante el CTP y se eliminó en el RTM.

Un compañero de trabajo y yo instalamos SQL Server Management Studio 2008 y ambos nos conectamos a las mismas bases de datos de SQL Server 2005 y 2008. Obtiene inteligencia tanto para el 2005 como para el 2008. Lo acabo de obtener para el 2008. No podemos entender por qué esto es.

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

Conclusión: Después de consultar con nuestros DBA, no parece ser posible. También han hecho una extensa investigación sobre esto.

Si ha instalado la versión correcta y aún no tiene Intellisense esto puede ayudarlo.

  

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

     

2) IntelliSense debe estar habilitado. Hay dos formas de verificar   Si IntelliSense está habilitado o no. a) Desde la barra de herramientas b) Ir a Herramientas   - > Opciones - > Editor de texto - > Transact-SQL - > IntelliSense

     

3) IntelliSense debe actualizarse con los últimos cambios en   base de datos.
  a) Presione CTRL + MAYÚS + R   b) Ir a Editar - > IntelliSense - > Actualizar caché local

     

4) Ir a Herramientas - > Opciones - > Editor de texto - > Transact-SQL - > General - >   IntelliSense Selecciona la lista automática de miembros y comprueba la información de parámetros.

  

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

No, no hay. Estás completamente equivocado y deberías ser abofeteado con un pez mojado.

Todo lo que está haciendo es interrogar a las diversas tablas virtuales INFORMATION_SCHEMA para hacer el descubrimiento. La razón por la que lo deshabilitaron en comparación con versiones anteriores es que, en teoría, podría alentarlo a usar una sintaxis que solo es válida en comparación con 2005, pero muchas personas lo estaban utilizando con un 100% de éxito. Por supuesto, la razón real por la que lo deshabilitaron es que redujo una ventaja de actualizar sus servidores a 2008 (que es donde ganan dinero real).

Puede usar intellisense en DbOctopus, también funciona con SQL Server 2005 y 2000. Actualmente es gratis, pero solo hasta el 1 de septiembre de 2009.

Puedes encontrarlo aquí:

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

Por cierto, recientemente hemos lanzado una nueva versión de SQL Complete que ofrece un Un montón de nuevas características . Todas las funciones nuevas están disponibles en la versión estándar shareware (30 días de prueba gratuita, $ 49.95).

Aún puede obtener toda la funcionalidad básica, similar a la versión 1.0, con Express Edition.

No lo piense tanto que deshabilitó intellisense en SQL Server 2005 tanto como que SQL Server 2005 no se creó teniendo en cuenta la compatibilidad con intellisense; hay código en el motor de base de datos SQL Server 2008 que admite la función intellisense en Management Studio 2008.

Sí, sé que parecía funcionar en las últimas vistas previas de CTP, pero algunos googlear (y el enlace de DilbertDave) revelan que había varias formas en que se rompió el comportamiento de CTP. p>

Solo usa el sapo, mejor que cualquier otra herramienta de Microsoft. Hay una versión gratuita.

Toad Soft

He estado usando Atlantis SQL Enywhere, un software gratuito, durante casi más de un año y me ha impresionado mucho. Funciona con las versiones SQL 2005 y SQL 2008. Estoy realmente impresionado con sus características y los métodos abreviados de teclado son similares a los de VS, por lo que la transición es realmente fluida a un nuevo editor.

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

Intellisense que realmente funciona cuando se usan tablas múltiples y se une con alias Sugerencia de combinaciones cuando se usan tablas múltiples (reduce el tiempo de escritura, realmente limpio) Formato rico de código SQL, AutoIndent usando Ctrl K, Ctrl D. Mejor representación de los planes SQL . Resalta las declaraciones de variables mientras se utilizan. Definición de tabla en el cursor del ratón.

Todas estas características me han ahorrado mucho tiempo.

Aún no lo he comprobado en SQL 2012

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top