Cada desarrollador quiete ser productivo y lograr más cosas durante su trabajo de día a día. Dada la elección entre trabajar más fuerte y trabajar más inteligentemente, usted más probablemente elegirá el último. Pero la gran pregunta es – ¿Cómo impulsar su productividad? ¿Cómo reduce su tiempo de desarrollo? ¿Cómo incrementa su velocidad de codificación?
Ya seamos un desarrollador T-SQL o DBA, pasamos la mayoría de nuestro tiempo trabajando en SQL Server Management Studio. En este artículo, aprenderemos un número de consejos y trucos que mejorarán su productividad y eficiencia en el IDE SSMS. Exploraremos maneras de parar de hacer tareas manuales repetitivas, usar atajos, teclear menos y generar más líneas de código en un tiempo mínimo.
En mi artículo previo, vimos las características nuevas y mejoradas de SSMS 2016. Si usted no lo ha revisado, le recomendaría altamente leerlo, instalar SQL Server Management Studio 2016 y comenzar a aprovechar los elementos de productividad – Mejoras de Productividad de SQL Server Management Studio 2016
Teclee menos y genere más código
SSMS provee una característica genial llamada ‘Code Snippets’, la cual le puede ayudar considerablemente a incrementar su velocidad de codificación. Code Snippets son fragmentos de código listos para usar, los cuales puede insertar en su código T-SQL. Esto es un gran ahorrador de tiempo, dado que no hay necesidad de recordar ninguna sintaxis mientras que está creando sus procedimientos almacenados, tablas, índices y más. Usted también puede crear sus propios fragmentos personalizados y añadirlos a los fragmentos predefinidos disponibles en SQL Server.
En el IDE SSMS, usted puede abrir el menú de fragmentos presionando CTRL K + X.
Usted puede navegar a través de las carpetas y seleccionar el fragmento que desea usar.
Basado en su selección, ahora usted verá el fragmento para crear un nuevo índice no agrupado.
1 2 3 4 |
-- Use Code Snippets to generate the syntax of your Non Clustered Index CREATE UNIQUE NONCLUSTERED INDEX IX_TableName_Col1 ON dbo.TableName (column_1) |
Usted también puede presionar CTRL K + B para abrir Code Snippets Manager, donde puede ver todos los fragmentos de código y administrarlos.
Obtenga el Conteo de Filas de las tablas sin ejecutar un script T-SQL
Generalmente, para encontrar el número de registros en una tabla, ejecutamos una consulta T-SQL y obtenemos la información.
1 2 |
SELECT COUNT(1) FROM [AdventureWorks2008].[Person].[Person] |
Pero SSMS provee una característica que muestra el Conteo de Filas para todas las tablas en una base de datos – sin escribir ninguna consulta explícita. La ventana Object Explorer Details es una característica que muy pocos desarrolladores usan durante su trabajo de día a día. Esto provee al usuario una interfaz que enlista todos los objetos en un servidor e información adicional como Conteo de Filas, Espacio de Datos Usado, Especio de Índice Usado y más.
Object Explorer Details no es visible en SSMS por defecto. Usted puede hacer clic en F7 o simplemente navegar a View -> Object Explorer Details para ver esta ventana.
Otra característica escondida respecto de esta ventana de detalles es que las columnas en la ventana Object Explorer son personalizables, y usted puede añadir columnas extra desde las opciones remarcadas en verde abajo:
Grabar información de conexión de servidores frecuentemente accedidos
Cuando está trabajando en su proyecto, usted tiende a tener un número de servidores entre los cuales necesita cambiar – Local/DEV/QA/MOCK/PROD. La manera más fácil de grabar estos servidores frecuentemente accedidos es almacenando la información de conexión de los servidores usando una característica llamada ‘Registered Servers’.
Para ver esta ventana en SSMS, usted puede navegar a View -> Registered Servers. Luego haga clic derecho en ‘Local Server Groups’ y haga clic en ‘New Server Registration’.
Ahora usted puede ir adelante y registrar el servidor ingresando los detalles de conexión. Note que usted también puede dar un nombre personalizado para el servidor registrado.
Yo he registrado todos mis servidores frecuentemente usados en mi proyecto bajo la carpeta ‘Local Server Groups’, como puede ver en la captura de pantalla abajo.
Ejecute una Consulta SQL contra múltiples servidores al mismo tiempo
Una vez que ha registrado todos sus servidores frecuentemente usados usando la característica ‘Registered Servers’, todos sus servidores aparecen debajo de Local Server Groups. Usted también puede crear sus propios grupos y tener servidores seleccionados debajo de él. Una gran ventaja de crear tales grupos es que le dan la habilidad de ejecutar una sola consulta T-SQL contra todos los servidores de bases de datos en ese grupo.
Esto ahorra mucho tiempo al desarrollador, ya que usted no necesita conectarse a diferentes instancias de bases de datos una por una y ejecutar la misma consulta múltiples veces. Todo lo que necesita hacer ahora es hacer clic derecho en la carpeta ‘Local Server Groups’ y hacer clic en la opción New Query.
En el editor de consultas, usted puede escribir la consulta T-SQL y correrla. El panel Results mostrará los resultados de la consulta ejecutada contra todos los servidores en ese grupo.
1 2 3 |
-- Running a custom script against all my database servers SELECT COUNT(1) AS 'Statistics RowCount' FROM [perf].[Statistics] |
Ahorre tiempo apalancando scripts SQL predefinidos
Cuando escribe una consulta T-SQL, si usted no recuerda la sintaxis, usted gasta tiempo en investigar algún artículo en línea o referirse a un libro para encontrar la sintaxis y formular la consulta. ¡Google nunca nos falla!
La mayoría de los desarrolladores no están conscientes de una característica integrada en SSMS llamada ‘Template Browser’ – donde muestra un número de plantillas por defecto. Esas plantillas contienen marcadores de posición/parámetros que le ayudan a crear un número de objetos de base de datos como tablas, índices, vistas, funciones, procedimientos almacenados y más en muy poco tiempo. Las plantillas son actualizadas con cada lanzamiento de SQL Server, así que puede estar seguro de que está trabajando con la sintaxis actualizada.
Puede abrir esta ventana haciendo clic en el menú ‘View’ y luego haciendo clic en ‘Template Explorer’.
Ahora, si hace clic en ‘Create Database’, se abrirá la respectiva plantilla en la ventana de consultas.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
-- ============================================= -- Create database template -- ============================================= USE master GO -- Drop the database if it already exists IF EXISTS ( SELECT name FROM sys.databases WHERE name = N'<Database_Name, sysname, Database_Name>' ) DROP DATABASE <Database_Name, sysname, Database_Name> GO CREATE DATABASE <Database_Name, sysname, Database_Name> GO |
Usted puede reemplazar los parámetros presionando CTRL+SHIFT+M, lo cual abre una nueva ventana donde usted puede especificar el valor para los parámetros.
Una vez que reemplaza los parámetros con nombres válidos, usted obtendrá el script final listo para la ejecución.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
-- ============================================= -- Create database template -- ============================================= USE master GO -- Drop the database if it already exists IF EXISTS ( SELECT name FROM sys.databases WHERE name = N'Statistics' ) DROP DATABASE Statistics GO CREATE DATABASE Statistics GO |
Maximice su espacio de trabajo con múltiples ventanas de código
Tener múltiples pantallas es un gran impulso a la productividad, dado que usted ya no necesita cambiar constantemente entre múltiples programas. Usted puede aprovechar los beneficios de la comparación lado a lado y también puede compartir datos entre pantallas fácilmente. Dicho eso, en SSMS usted puede usar ‘Horizontal or Vertical Tab Groups’ para maximizar su espacio de trabajo usando ventanas de código separadas, y en el proceso aprovechar los mismos beneficios de tener múltiples pantallas.
Cuando usted tiene múltiples pestañas abiertas, usted puede hacer clic derecho en cualquiera de las pestañas y elegir entre Grupos de Pestañas Horizontales versus Verticales, según su preferencia.
1 2 3 4 |
-- Obtain metadata of the database using Information Schema view select count(*) from INFORMATION_SCHEMA.TABLES select count(*) from INFORMATION_SCHEMA.ROUTINES select count(*) from INFORMATION_SCHEMA.VIEWS |
Cada ventana de código puede establecer una conexión independiente a la instancia de SQL Server y por lo tanto usted puede ejecutar la misma consulta contra diferentes instancias de servidores y comparar resultados. Usted también puede comparar archivos de script o sus resultados lado a lado.
Use Atajos de Teclado para incrementar su eficiencia
Hay múltiples beneficios de usar atajos de Teclado sobre el ratón. Para acciones repetitivas de día a día, usted puede lograr una funcionalidad deseada mucho más rápido usando atajos de teclado y sólo con un par de teclas. Hay una ligera curva de aprendizaje involucrada en memorizar los atajos de teclado, pero una vez que usted comienza a usar sus atajos de teclado favoritos a diario, se convierte en un hábito y le ayuda a ser más eficiente.
Generalmente, mientras se trabaja en SSMS, tenemos múltiples ventanas de consulta abiertas. Presionando CTRL+TAB, un diálogo se abre conteniendo todas las pestañas abiertas y usted puede intercambiar entre ellas muy convenientemente. Este es un atajo que yo uso diariamente.
He listado abajo unos pocos de mis atajos favoritos de SSMS, los cuales usted puede usar para mejorar su productividad en el IDE –
Atajos | Acción |
CTRL+R | Cambiar entre mostrar y esconder Resultados |
CTRL+N | Abrir nueva pestaña de consulta con la conexión de base de datos actual |
CTRL+L | Mostrar el plan de ejecución estimado de la consulta |
SHIFT+ALT+ENTER | Activar o desactivar Pantalla Completa para el Editor de Código |
CTRL + ] | Navegar al paréntesis coincidente |
CTRL+K+X | Insertar Fragmentos de Código SQL |
CTRL+SHIFT+U | Cambiar texto a mayúsculas |
CTRL+SHIFT+L | Cambiar texto a minúsculas |
CTRL+K+C | Comentar el texto seleccionado |
CTRL+K+U | Descomentar el texto seleccionado |
Para ver la lista completa de Atajos de Teclado de SQL Server Management Studio, por favor refiérase a este enlace MSDN – Atajos de Teclado de SQL Server Management Studio
Aproveche las Expresiones Regulares para encontrar y reemplazar rápidamente
Algunas veces la operación de encontrar y reemplazar puede volverse un proceso tedioso, especialmente con consultas/textos más grandes, donde mucho de esfuerzo manual puede ser requerido. Las Expresiones Regulares son una bendición disfrazada en tales escenarios. Le permiten analizar gramaticalmente un texto grande, encontrar un patrón coincidente y reemplazarlo en un instante. Usted no se dará cuenta de cuán poderosa y beneficiosa es esta herramienta hasta que comience a usarla.
Para habilitar el uso de expresiones regulares, haga clic en CTRL+SHIFT+H para abrir el diálogo Find and Replace. Luego puede hacer clic en el ícono ‘Expression Builder’, cerca del campo Find What. Mostrará las expresiones más comúnmente usadas, las cuales usted puede aprovechar para encontrar patrones específicos.
Usted puede encontrar más detalles acerca de Buscar con Expresiones Regulares en el enlace MSDN Buscar Texto con Expresiones Regulares
Conclusión
Obtener un entendimiento superlativo del IDE y sus características contribuye grandemente a incrementar la productividad de uno. En este artículo, fuimos a través de un número de consejos y trucos de SSMS para incrementar la velocidad de codificación de un desarrollador T-SQL. Ojalá que usted haya aprendido algunas técnicas útiles para tomarlas y aplicarlas en su trabajo de día a día. Para una herramienta de terceros para incrementar más allá su productividad al escribir código, vea ApexSQL Complete.
Referencias
- Incremente su Velocidad de Codificación usando Code Snippets en Visual Studio
- Trucos de Management Studio que puede que no conozca
- Consejos y Trucos de SQL Server Management Studio
- Mejoras de Productividad para SQL Server Management Studio 2016 - April 21, 2017
- Incremente su Rapidez de Codificación en SQL Sever Management Studio - February 28, 2017
- 10 consejos y trucos para SSMS para mejorar su Productividad - February 28, 2017