ApexSQL Complete es un complemento para SQL Server Management Studio y Visual Studio diseñado para acelerar a codificación. Este complemento completa sentencias SQL automáticamente, llena fragmentos SQL, genera bosquejos para la estructura del script SQL y acelera la codificación con fragmentos de código T-SQL.
octubre 19, 2017Cómo mantener dos esquemas de bases de datos SQL en sincronización
Desafío
Cuando se trabaja en el desarrollo de una base de datos, hay a veces un requerimiento para mantener las dos bases de datos en sincronización. Por ejemplo, usted tiene un ambiente de desarrollo y quiere sincronizar automáticamente los cambios con una base de datos de Control de Calidad frecuentemente, de modo que las pruebas puedan siempre correr en la versión más reciente. El mecanismo implementado debería manejar esto detectando un cambio específico en el esquema en la base de datos de Desarrollo (DEV) y sincronizando automáticamente con la base de datos de Control de Calidad (QA), sin supervisión y con un programa. El proceso completo debería correr sin supervisión y estar completamente automatizado, y las bases de datos serán actualizadas casi en tiempo real, dado que programaremos el proceso para que corra cada 15 minutos.
julio 22, 2017Cómo automatizar la codificación y envío por lotes de objetos SQL al control de versiones
Muchos equipos de desarrollo tienen la necesidad de una solución rápida pero efectiva para enviar objetos de bases de datos SQL Server al control de versiones, pero no están listos para moverse a una integración total.
Para que los objetos estén bajo el control de versiones en un enfoque “económico”, scripts de creación necesitan ser producidos para cada tabla, procedimiento almacenado, o cualquier otro objeto en la base de datos. Después, los scripts necesitan ser enviados a un sistema de control de versiones.
julio 22, 2017Cómo sincronizar automáticamente los datos en dos bases de datos SQL Server en un programa
Desafío
Es a menudo necesario tener una manera de sincronizar datos entre bases de datos SQL en tiempo real, por ejemplo, cuando un cierto dato es cambiado/añadido en un lugar (base de datos) a ser sincronizado con otra base de datos. Los cambios necesitan ser detectados automáticamente en un programa, y sincronizados automáticamente con otra base de datos. Este proceso debería ser completamente automatizado y correr sin supervisión.
julio 22, 2017Cómo crear y usar fragmentos de código T-SQL
En este artículo describiremos la función de fragmentos en ApexSQL Complete y daremos ejemplos de cómo utilizar variables de macro de fragmentos.
febrero 23, 2017Cómo generar datos de prueba aleatorios de un archivo CSV
Se crea una nueva base de datos SQL y todo está configurado, pero necesitan algos datos para poder probarla. La pregunta sería: ¿qué fuente de datos utilizar para rellenar la base de datos de SQL Server con datos de prueba aleatorios?
Una fuente de datos comúnmente disponible es el archivo con formato CSV (valores separados por comas) que es ampliamente soportado. Entre sus usos más comunes está el mover datos tabulares entre programas que operan nativamente en formatos incompatibles (a menudo propietarios y/o indocumentados). Esto funciona porque muchos programas soportan alguna variación de CSV al menos como un formato de importación/exportación alternativo.
Se selecciona un archivo CSV que contiene los datos de prueba y luego se debe asignar e insertar los datos. ¿Cuáles son nuestras opciones?
febrero 23, 2017Cómo rastrear consultas SQL Server ejecutadas
En este artículo, introduciremos una característica en ApexSQL Complete, que sigue la pista de consultas ejecutadas. ApexSQL Complete es un complemento de productividad para SSMS y Visual Studio que contiene características como SQL auto-complete, formato de SQL y más.
febrero 23, 2017Recupere scripts SQL no grabados debido a un bloqueo de SQL Server Management Studio
Recuperar trabajo después de bloqueos de SQL Server Management Studio
Imagine una situación de trabajar en SSMS y súbitamente la electricidad se corta, el sistema se bloquea, SSMS se bloquea o su sesión de trabajo fue abruptamente terminada por cualquier otra razón, lo que causa la pérdida de trabajo no grabado en varios scripts SQL. En esta situación SSMS provee un diálogo para datos recuperados después de reiniciar:
febrero 23, 2017Sincronizando bases de datos usando el registro de transacciones – Transvase del Registro de SQL Server
No importa cuán bien administrados están sus sistemas, los accidentes pueden ocurrir y potencialmente conducir a consecuencias desastrosas. Para asegurar que una solución de recuperación de desastres está disponible, siempre es bueno tener una copia de la base de datos primaria en otra instancia de SQL Server.
La primera manera de lograr esto es utilizar el transvase de Registros de SQL Server.
febrero 23, 2017Cómo borrar de manera segura objetos de bases de datos SQL
Cuando se trata de borrar un objeto de la base de datos el cual tiene un objeto que depende de él, no se pueden causar problemas dado que no se permitirá borrarlo:
Drop failed for Table ‘HumanResources.Employee’. (Microsoft.SqlServer.Smo)
Could not drop object ‘HumanResources.Employee’ because it is referenced by a FOREIGN KEY constraint.
Cómo codificar usuarios de bases de datos SQL Server con roles
Introducción
Una solicitud es recibida desde el equipo de desarrollo pidiendo copiar una de las bases de datos de producción al servidor DEV SQL para simular escenarios de prueba en tiempo real. Una vez que la copia de seguridad de la base de datos de producción es restaurada a la instancia DEV SQL, reemplazando la copia antigua, los antiguos usuarios de la base de datos DEV serán reemplazados por usuarios en línea. Pero aún necesitamos los antiguos inicios de sesión de la base de datos DEV para la conexión del sitio DEV.
agosto 23, 2016Cómo cambiar el nombre de un objeto sin romper su base de datos SQL
Muy frecuentemente, el diseño inicial de la base de datos ya no concuerda con el criterio actual y los requerimientos. Por tanto es necesario alinearse periódicamente a lo que nuestras son necesidades y estándares actuales. Cuando se trabaja con una base de datos grande, cualquier idea de cambiar el nombre de uno o más objetos SQL puede ser un desafío real.
Cambiar un nombre de objeto es una operación simple y podría ser hecha fácilmente usando el procedimiento almacenado del sistema SP_RENAME o usando las sentencias RENAME y ALTER… RENAME para índices y desencadenadores.
noviembre 14, 2015Cómo limpiar objetos no usados de una base de datos SQL Server
No es raro el caso donde un DBA hereda bases de datos SQL Server con muchos objetos SQL sin usar. Usando ApexSQL Clean, es fácil limpiar una base de datos SQL de estos objetos innecesarios y prevenir que los objetos extra tengan un impacto en el desarrollo ralentizándolo e incrementando el trabajo de mantenimiento (por ejemplo, todos los objetos no usado aún tienen que tener sus permisos establecidos, estar conforme a los estándares de código, etc.).
noviembre 14, 2015Cómo determinar dependencias de tabla y columna dentro de una base de datos SQL
Si se necesitan hacer cambios a una columna es necesario realizar algunas evaluaciones de impacto para determinar qué objetos serán afectados, lo que significa que las dependencias de tablas y columnas SQL dentro de la base de datos SQL Server necesitan ser encontradas.
noviembre 14, 2015Cómo reordenar scripts para evitar errores basados en dependencias
Tener una base de datos codificada a una carpeta de script o a un control de fuente permite usar estos scripts DDL para recrearla. De todos modos, puede que no vaya todo tan bien debido a algunas dependencias perdidas.
Cuando se crea un objeto de base de datos desde cero, los objetos necesarios son creados sobre la marcha. Los objetos que pueden estar atados en relaciones y restricciones que los hacen dependientes uno del otro.
noviembre 14, 2015Cómo asegurar procedimientos almacenados contra inyecciones SQL
Aunque los procedimientos almacenados de SQL Server ayudan con la seguridad el código ocultando la implementación de lógica de negocios e incluso protegiendo contra algunos tipos de ataques de inyección SQL – primariamente aquellos que usan operadores como AND o OR para enviar comandos a un valor de parámetros de entrada válido, simplemente envolver el código en un procedimiento almacenado no significa que las aplicaciones, bases de datos y Servidores SQL están a salvo de todo tipo de ataques de inyección SQL. Así que, ¡cómo crear procedimientos almacenados a prueba de inyecciones SQL?
noviembre 14, 2015Refactorización de código SQL – maneras de mejorar el desempeño de la base de datos (parte I) – Encapsular código como un procedimiento almacenado
El desempeño de la base de datos es un desafío para cada desarrollador y DBA. Incluso cuando algunas mejoras son hechas, siempre hay una pregunta – ¿hay algo más que se pueda hacer?
Puede haber algunas cosas. Algunas de las técnicas de mejoramiento de desempeño no están relacionadas con el código – una estrategia de indexación adecuada, añadir memoria, usar diferentes discos para archivos de datos, archivos de registros y copias de seguridad de bases de datos, usar discos más rápidos, optimizar el desempeño de tempdb.
noviembre 14, 2015Transferir inicios de sesión SQL para usuarios con un gran número de inicios de sesión autenticados SQL
Los inicios de sesión SQL Server son las credenciales que permiten a los usuarios conectarse con la instancia del Motor de la Base de Datos. Los inicios de sesión SQL se distinguen basados en el tipo del método de autenticación: autenticación Windows, autenticación SQL Server, Certificados y Claves Asimétricas. Un inicio de sesión SQL puede ser mapeado a sólo un usuario en cada base de datos.
octubre 27, 2015Cómo visualizar dependencias de objetos de bases de datos SQL
ApexSQL Search es un complemento gratis para SQL Server Management Studio y Visual Studio que, entre otras características, provee un diagrama de dependencias de base de datos.
La característica View Dependencies tiene la habilidad de visualizar todas las relaciones de los objetos de una base de datos SQL, incluyendo aquellos entre encriptados y objetos del sistema, objetos específicos SQL Server 2012 y objetos almacenados en bases de datos encriptadas con Encriptación de Datos Transparente (TDE, por sus siglas en inglés). Miremos más de cerca esta característica.
octubre 27, 2015Compare esquemas de bases de datos SQL Server automáticamente
Es de conocimiento general que ejecutar cambios directamente a una base de datos en producción, sin efectuar pruebas en profundidad primero, debería evitarse.
Si hay suficientes recursos en el ambiente, habría al menos una instancia SQL Server de pruebas y otra de producción. De todos modos, eso introduce otro desafío. Cuando todo está configurado en la prueba y corre sin problemas y como se esperaba, ¿cómo puede ser aplicado fácilmente a la instancia de producción?
octubre 25, 2015