La latencia, el archienemigo de los entornos Hybrid Cloud

La latencia, el archienemigo de los entornos Hybrid Cloud

En los últimos años vamos viendo cada vez más entornos híbridos donde algunos SQL Server se desplazan a la nube. En estos escenarios otras aplicaciones, servicios, ERPs o incluso otras instancias SQL Server siguen viviendo OnPremise en el datacenter original. Esta situación implica que cuando existan conexiones entre ambos entornos, las conexiones tendrán, en comparación con las conexiones que no crucen entre entornos, restricciones de ancho de banda y latencias mayores. (más…)

Convertir ficheros Excel en csv y cargar ficheros usando SSIS

Convertir ficheros Excel en csv y cargar ficheros usando SSIS

SQL Server Integration Services, SSIS de aquí en adelante, tiene la capacidad de cargar archivos Excel, pero en muchas ocasiones suele ser tedioso porque cualquier mínimo cambio en ese fichero Excel puede hacer fallar el paquete de SSIS, por eso normalmente la mejor opción es transformar dichos ficheros Excel a formato .csv, ya que cargar ficheros de texto da muchos menos problemas que los ficheros Excel.

Convertir un solo fichero Excel a csv se hace rápidamente de forma manual guardando el archivo como .csv desde Excel, el problema es cuando tienes que realizar este proceso con muchos ficheros Excel o necesitas que este cambio de formato se realice de forma automática.

En este post vamos a explicar cómo hacer este cambio de formato automáticamente usando PowerShell y como iterar por directorios para cargar varios ficheros Excel usando SSIS como herramienta principal para realizar todo el proceso.

(más…)

Carga de Slowly Changing Dimensions y tabla de Hechos con atributos de Tipo 2 (Parte 3 de 3)

Carga de Slowly Changing Dimensions y tabla de Hechos con atributos de Tipo 2 (Parte 3 de 3)

En nuestro primer post de la serie se explicaban diferentes métodos para cargar una dimensión con atributos de Tipo 2, en el segundo post de la serie se explicaban los diferentes métodos para cargar una tabla de hechos a partir de una dimensión con atributos de Tipo 2 y en este tercer post vamos a comentar como cargar una dimensión con atributos de Tipo 2 usando una columna de tipo CHECKSUM.

(más…)

Carga de Slowly Changing Dimensions y tabla de Hechos con atributos de Tipo 2 (Parte 2 de 3)

Carga de Slowly Changing Dimensions y tabla de Hechos con atributos de Tipo 2 (Parte 2 de 3)

Este es el segundo post de la serie en el que explicaremos como cargar nuestra tabla de Hechos a partir de una dimensión con atributos de Tipo 2, usando dos maneras diferentes, una de ellas será mediante un componente “Look Up” con caché parcial y la otra opción será usando un componente “Merge Join” con un “Conditional Split” para seleccionar el registro que se encuentra en el rango de fechas correcto. Para mas información sobre qué es un atributo de Tipo 2 y sobre como cargar la dimensión que usaremos en este ejemplo puedes consultar el primer post de la serie.
(más…)
Buscando colisiones lockhash en SQL Server 2008R2 y superiores

Buscando colisiones lockhash en SQL Server 2008R2 y superiores

Una de las novedades técnicas de bajo nivel que se introdujeron en SQL Server 2008 R2 y versiones posteriores fue una mejora en el algoritmo de hashing utilizado para la gestión de bloqueos. Aunque a algunos puede sorprenderles, cuando el gestor de bloqueos de SQL Server registra un bloqueo de fila lo que se almacena realmente no es la clave de la fila. Lo que realmente se almacena es un hash de 6 bytes que podremos ver en la columna «resource description» de la DMV sys.dm_tran_locks.

(más…)