Cómo monitorear eventos de conmutación por error de SQL Server automáticamente

Vista general de los eventos de conmutación por error

En general, los términos “conmutación por error” se refieren a cambiar de una máquina previamente activa, otro componente de hardware o red, a una pasiva (o sin uso), para sostener la disponibilidad y confiabilidadaltas. En la mayoría de casos, un evento de conmutación por error es un proceso automático, mientras que un evento similar, de cambio de servidor, requiere la intervención manual en el cambio entre elementos activos/pasivos.

diciembre 15, 2017

Cómo comparar y sincronizar automáticamente múltiples bases de datos en diferentes instancias de SQL Server

Desafío

Muy a menudo, es un gran desafío mantener todas las bases de datos SQL localizadas en diferentes SQL Servers en sincronización. A medida que el tiempo pasa, muchos cambios de esquema y datos son hechos en las bases de datos de QA diariamente, los cuales requieren estar en sincronía con las bases de datos de Producción.

Para mantener todo en sincronización, debería hacer un sistema que sea gatillado o programado para realizar la comparación de todas las bases de datos SQL y sincronizar aquellas donde se detectan cambios. Este sistema debería también estar al tanto de cualquier dependencia durante la sincronización para mantener la integridad de la base de datos SQL.

diciembre 8, 2017

Cómo automatizar la desfragmentación de SQL Server usando políticas

Introducción

Aparte de numerosos factores, un mantenimiento pobre del índice puede ser una razón para el desempeño disminuido de SQL Server. Si una base de datos contiene tablas con numerosas entradas, y eso es actualizado constantemente, es muy probable que ocurra una alta fragmentación del índice. Para índices más pequeños, la alta fragmentación no necesariamente degrada el desempeño de las consultas que son corridas sobre una tabla. Pero para tablas más grandes, con índices que consisten en 1000 páginas o más, la fragmentación podría causar problemas notorios de desempeño. Afortunadamente, realizar tareas de mantenimiento de índices regularmente puede eliminar el riesgo de degradar el desempeño significativamente. Las formas más efectivas de tratar la fragmentación del índice son las operaciones de reorganizar y reconstruir el índice.

diciembre 8, 2017

Codificar automáticamente los datos de una tabla SQL Server y el esquema del objeto directamente al control de versiones

Imagine un escenario donde usted desea enviar sus bases de datos al control de versiones rápida y fácilmente, incluyendo todos los objetos del esquema y los datos desde ciertas tablas de código que no cambiarán, también conocidas como datos Estáticos. Luego, una vez que haya trasladado su base de datos exitosamente al control de versiones, puede actualizar el repositorio en las noches con cualquiera o todos los objetos cambiados. De esta manera, usted ha añadido automáticamente su base de datos al control de versiones, sin tener que preocuparse acerca de la integración directa, las entradas, salidas, etc., esencialmente proveyendo mucho de las “ganancias” de la integración de la base de datos con el control de versiones, con poco del “costo”. Este artículo describirá cómo construir este sistema de integración de bases de datos SQL al control de versiones usando una herramienta de terceros, ApexSQL Script.

diciembre 7, 2017

Codificar una base de datos para registros DML específicos solamente

A veces, los mejores datos son los que usted tiene en su base de datos SQL Server de producción. Ya que usar datos de producción no es muy a menudo una opción aceptable, esto requiere recuperar los datos desde una tabla de una base de datos en vivo e insertarlos en una nueva tabla. El desafío emerge si usted no desea insertar todos los registros de la tabla original, sino que sólo los registros que cumplen con ciertas condiciones.

Cómo crear un script INSERT INTO que mueve sólo datos específicos desde una tabla a otra.

noviembre 23, 2017

Cómo codificar más rápido con fragmentos de código de SQL Server

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, 2017

Cómo detectar un alto grado de fragmentación de índices de bases de datos SQL Server y arreglarlo automáticamente

Introducción

Cuando se trabaja con bases de datos, la disponibilidad y el desempeño son de suprema importancia. El desempeño de la base de datos está basado en múltiples factores, entre los cuales se destaca poder procesar consultas rápidamente. Esto puede ser facilitado usando índices. Los índices son como los índices de un libro, proveen accesos directos a donde la información está localizada. De otra manera, usted tendría que comenzar a leer el libro desde el inicuo hasta encontrar la información necesitada. Es lo mismo con las bases de datos, si no fuera por los índices, por cada consulta habría la necesidad de un escaneo de la tabla entera.

julio 25, 2017

Cómo crear una solución simple de recuperación de base de datos usando transvase de registros de SQL Server

Para prevenir pérdidas accidentales de datos, siempre es bueno asegurarse de que hay una solución de recuperación de desastres disponible. Esto puede ser fácilmente logrado teniendo una copia fija de la base de datos primaria en otra instancia de SQL Server, lo cual puede ser logrado vía el transvase de registros.

El transvase de registros es una solución que provee una protección de recuperación de desastre al nivel de la base de datos. Una configuración de transvase de registros incluye un servidor primario hospedando a una base de datos en línea, y uno o más servidores secundarios que hospedan copias de la base de datos. El proceso es bastante simple – una base de datos es respaldada y restaurada desde un servidor primario a un servidor secundario. En intervalos programados regularmente, una copia de seguridad de registros de transacciones es realizada en los servidores primario y secundario para mantener las bases de datos en sincronización.

julio 25, 2017

Cómo construir un diccionario de Datos SQL Server “inteligente”

En este artículo, “¿Qué es un diccionario de datos y por qué quisiera construir uno?” un diccionario de datos fue descrito y comparado a otras alternativas para documentar, auditar y versionar una base de datos. Este artículo también describió la diferencia entre un diccionario de datos “Tonto” y uno “Inteligente”.

Ahora que le hemos abierto el apetito, este artículo explicará cómo crear un diccionario de datos inteligente usando exportaciones de cambios de esquema XML desde ApexSQL Diff.

julio 25, 2017

Auditoría y reportes de bases de datos SQL Server continuos usando el registro de transacciones

Los archivos de registros de transacciones de la base de datos en SQL Server son continuamente inyectados con información transaccional y detalles acerca de los cambios de la base de datos por SQL Server mismo. Incluso cuando la información desde los archivos de registros de transacciones y copias de seguridad pueden ser usados como una fuente sólida para auditorías de bases de datos, SQL Server no provee una solución sólida para utilizar los archivos de registros de transacciones en su potencial completo, ni ofrece una manera simple de explorar esos archivos de registros de transacciones o analizar la información dentro para realizar una auditoría continua de la base de datos SQL.

julio 22, 2017

Có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, 2017

Cómo comparar tablas de bases de datos SQL con nombres diferentes

Cuando se comparan bases de datos en línea o copias de seguridad usando ApexSQL Diff, las tablas con los mismos nombres son comparadas automáticamente. Pero, ¿qué pasa con las tablas y columnas con nombres diferentes cuando se comparan tablas SQL por diferencias?

Por defecto, ellas son excluidas del proceso de comparación y necesitan ser mapeadas manualmente usando la característica Object mapping. Esta característica también permite cambiar tablas emparejadas por defecto, por ejemplo, desmapeándolas y creando pares personalizados de comparación. Esto puede ser útil en escenarios donde las mismas tablas están nombradas de manera diferente en las bases de datos de desarrollo y de producción, y los datos necesitan ser enviados desde la base de datos de desarrollo a la de producción.

julio 22, 2017

Có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, 2017

Có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, 2017

Viendo las dependencias de un objeto en SQL Server

Eliminar o cambiar objetos puede afectar otros objetos de la base de datos como vistas o procedimientos que dependen de ellos y, en ciertas instancias, pueden “romper” el objeto dependiente. Un ejemplo puede ser si una Vista consulta a una tabla y el nombre de esa tabla cambia. La Vista no funcionará más.

julio 7, 2017

Técnicas para identificar consultas bloqueadoras y causas de bloqueos de SQL Server

Los procesos bloqueados causados por bloqueos en los objetos de la base de datos son un problema común. El bloqueo asegura la integridad de los datos almacenados dentro de las bases de datos forzando cada transacción SQL Server ejecutada a pasar la prueba ACID que considera que cada transacción debe cumplir con los siguientes requerimientos:

julio 7, 2017