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