Como comenté, voy a ir haciendo una serie de posts relacionados con las nuevas características de SQL Server 2008. Conforme vaya avanzando anexaré en los posts previos vínculos a los nuevos temas.

Cabe mencionar que todos los posts (a menos que se indique lo contrario en alguno en particular) serán usando el CTP de Febrero 2008.

El primer tema será IntelliSense en el SQL Server Management Studio (ya que debía la respuesta a la pregunta en el podcast smile_embaressed).

Bien, después de la introducción... ¡comenzamos!

 

Autocomplete de SQL Server 2008

Es correcto, existe el IntelliSense en SQL Server 2008 si se usa el SQL Server Management Studio (2008), pero en el CTP actual todavía deja mucho que desear. Aunque es rápido en conexiones locales, en conexiones remotas tiene que ir armando el caché de objetos y las primeras veces toma tiempo en sugerirte objetos y parámetros. Pero esto es lógico y aceptable, el problema que vi realmente esta en que no acepta todas las instrucciones de T-SQL sino un subconjunto muy pequeño.

Por ahora acepta lo siguiente:

  • SELECT (y nada más a los elementos SELECT, TOP, INTO, FROM, WHERE, GROUP BY, HAVING, ORDER BY, OPTION (hint), FOR y UNION).
  • DECLARE @variable.
  • SET @variable.
  • EXECUTE.
  • CREATE TABLE.
  • CREATE PROCEDURE.
  • ALTER PROCEDURE.

En el caso de que se tenga un CREATE TABLE y después se use la tabla en el mismo script más abajo, IntelliSense te sugerirá sus campos aunque el objeto no exista. Sin embargo no sucede lo mismo con los procedimientos almacenados (CREATE PROCEDURE y EXECUTE).

Error de sintaxis en SQL Server 2008

Adicionalmente a IntelliSense en autocompletar nombres de objetos y dar información de los parámetros veremos que aparece la típica subraya ondulada roya cuando existe un error de sintaxis y por si fuera poco agregaron también el agrupar instrucciones en bloques (como las regiones en Visual Studio). Lamentablemente esta última funcionalidad deja que desear porque al colapsar una instrucción no te indica de que instrucción se trata (ni poniendo comentarios) por lo que podrías terminar con un montón de regiones con puntos suspensivos que más bien parecieran incógnitas.

Sin comentarios:

Secciones sin comentarios

Con comentarios antes del bloque a colapsar:

Secciones con comentarios

Por último, aunque SQL Server Management Studio te permite conectarte a instancias de SQL Server 2000, 2005 y 2008, no tendrás IntelliSense si la instancia es de SQL Server 2000 (local o remota).

Para saber más de este tema visiten Using IntelliSense en los SQL Server 2008 Books Online.

Les recomiendo que si les interesa el tema bajen el CTP de febrero de 2008 de SQL Server 2008 y lo prueben por ustedes mismos. Así también les recomiendo que entren a Microsoft Connect y publiquen sus opiniones referentes al producto para que el equipo de desarrollo vaya mejorando esta versión.

 

Más post de la serie: