abr. 21
Configuración de Base de Datos SSISDB

La Base de Datos SSISDB es la que se crea para poder almacenar los paquetes de Integration Services 2012 o superior de la forma más adecuada.

​Es importante realizar una configuración, debido a que en caso de no hacerlo, esta puede crecer de forma exponencial, y llegar a utilizar mucho espacio en nuestros servidores de forma innecesaria.

Para brindar mayor seguridad y bitácora de los procesos, por default esta Base de Datos se crea con una configuración de almacenamiento de 10 versiones y con un periodo de retención de la bitácora de 365 días.

 

SSISDB.jpg 

 

Debido a lo anterior, se debe valorar cuántos días de ejecuciones son importantes de almacenar en bitácora, y en el momento que determinamos cuál es, debemos cambiarlo en la propiedad que se llama "Retention Period", normalmente se recomienda colocar 30 como máximo. Y en la cantidad de versiones "Maximum Number of Versiones per Project", lo que se recomienda es manejar la solución en un controlador de versiones, como por ejemplo Team Fundation Services y esta propiedad cambiarla a 3.

Realizando la configuración anterior, ahorraremos mucho espacio en disco.

abr. 12
Leer un archivo .xel generado por Extended Event

Cuando tenemos un archivo con la extensión xel el cual es generado por medio del Extended Event, se puede hacer de forma simple ejecutando la siguiente consulta:

 

SELECT

Consulta.DatosEventoXML.value('(/event/data[@name="EventClass"]/value)[1]','int') AS EventClass

,Consulta.DatosEventoXML.value('(/event/data[@name="EventSubclass"]/value)[1]','int') AS EventSubclass

,Consulta.DatosEventoXML.value('(/event/data[@name="TextData"]/value)[1]','varchar(max)') AS TextData

,Consulta.DatosEventoXML.value('(/event/data[@name="ConnectionID"]/value)[1]','int') AS ConnectionID

,Consulta.DatosEventoXML.value('(/event/data[@name="NTUserName"]/value)[1]','varchar(128)') AS NTUserName

,Consulta.DatosEventoXML.value('(/event/data[@name="ApplicationName"]/value)[1]','varchar(128)') AS ApplicationName

,Consulta.DatosEventoXML.value('(/event/data[@name="StartTime"]/value)[1]','datetime') AS StartTime

,Consulta.DatosEventoXML.value('(/event/data[@name="EndTime"]/value)[1]','datetime') AS CurrentTime

,Consulta.DatosEventoXML.value('(/event/data[@name="Duration"]/value)[1]','bigint') AS Duration

,Consulta.DatosEventoXML.value('(/event/data[@name="DatabaseName"]/value)[1]','varchar(50)') AS DatabaseName

,Consulta.DatosEventoXML.value('(/event/data[@name="Error"]/value)[1]','int') AS Error

,Consulta.DatosEventoXML.value('(/event/data[@name="ClientProcessID"]/value)[1]','int') AS ClientProcessID

,Consulta.DatosEventoXML.value('(/event/data[@name="SPID"]/value)[1]','int') AS SPID

,Consulta.DatosEventoXML.value('(/event/data[@name="CPUTime"]/value)[1]','Bigint') AS CPUTime

,Consulta.DatosEventoXML.value('(/event/data[@name="NTDomainName"]/value)[1]','varchar(128)') AS NTDomainName

,Consulta.DatosEventoXML.value('(/event/data[@name="IntegerData"]/value)[1]','Bigint') AS IntegerData

FROM

(

SELECT

[FILE_NAME] as NombreArchivo,

OBJECT_NAME AS Evento,

CONVERT(XML,event_data) AS DatosEventoXML

FROM

sys.fn_xe_file_target_read_file ('C:\Workdir\NombreArchivo.xel',null,null,null )

) Consulta

abr. 12
Extended Event para capturar eventos de Analysis Services

​En ocasiones requerimos escribir las consultas realizadas por los usuarios de nuestros cubos multidimensionales en una tabla de SQL Server para posteriormente generar reportes de auditoría o simplemente generar estadísticas, lo primero que se nos ocurre es configurar el Profiler de SQL Server para realizar esta tarea, sin embargo, no es posible configurar el Profiler para que escriba directamente en la tabla de la base de datos cuando lo que se está capturando son eventos del Analysis Services.

Por lo anterior, la forma más simple de realizarlo es con el Extended Event, el cual, por medio de un XMLA captura los eventos que deseamos y los envía a un archivo con extensión “xel”. El Script que debemos ejecutar es el siguiente:

 

<Create xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2"

xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2"

xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100"

xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200"

xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300">

<ObjectDefinition>

<Trace>

<ID>BaseDatosOLAP</ID>

<Name>BaseDatosOLAP</Name>

<ddl300_300:XEvent>

<event_session name="xeas" dispatchLatency="1" maxEventSize="4" maxMemory="4" memoryPartitionMode="none" eventRetentionMode="allowSingleEventLoss" trackCausality="true">

<event package="AS" name="QueryEnd" />

<target package="Package0" name="event_file">

<parameter name="filename" value="C:\Workdir\Eventos SSAS\NombreArchivo.xel" />

</target>

</event_session>

</ddl300_300:XEvent>

</Trace>

</ObjectDefinition>

</Create>

abr. 12
Introducción a Analysis Services

Analysis Services es una herramienta que forma parte del SQL Server, y es utilizada para crear los cubos multidimensionales de información, y desde la versión de SQL Server 2012, también se pueden construir cubos tabulares.

El modelo multidimensional también se conoce con el nombre de esquema estrella, pues su estructura base es similar: una tabla central y un conjunto de tablas que la atienden radialmente.

El esquema estrella deriva su nombre del hecho que su diagrama forma una estrella, con puntos radiales desde el centro. El centro de la estrella consiste de una o más tablas de hechos, y las puntas de la estrella son las tablas de dimensión.

Las tablas de dimensión se pueden clasificar de la siguiente forma:

  • Dimensiones Normales: aquellas que agrupan diferentes atributos que están relacionados por el ámbito al que se refieren (todas las características de un cliente, los diferentes componentes de la dimensión tiempo, etc).

  • Dimensiones Causales: aquella que incluye atributos que pueden causar cambios en los procesos de negocio (por ejemplo la dimensión promoción en el proceso de negocio de ventas).

  • Dimensiones Heterogéneas: dimensiones que agrupar conjuntos heterogéneos de atributos, que no están relacionados entre sí.

  • Dimensiones Roll-Up: es una dimensión que es un subconjunto de otra, necesarias para el caso en que tenemos tablas de hechos con diferente granularidad

  • Dimensiones Junk: dimensión que agrupa indicadores de baja cardinalidad como pueden ser flags o indicadores.

  • Dimensiones Role-playing: cuando una misma dimensión interviene en una tabla de hechos varias veces (por ejemplo, la fecha en una tabla de hechos donde se registran varias fechas referidas a conceptos diferentes), es necesario reutilizar la misma dimensión, pues no tiene sentido crear tantas dimensiones como usos se hagan de ella.

  • Dimensiones Degeneradas: son dimensiones que se obtienen directamente desde la tabla de hechos.

  • Mini dimensiones o Dimensiones Outrigger: conjunto de atributos de una dimensión que se extraen la tabla de dimensión principal pues se suelen analizar de forma diferente.

abr. 12
Introducción a Integration Services

Integration Services es una herramienta que forma parte del suite de SQL Server, y es sumamente robusta, sirve entre otras muchas cosas, para mover datos entre diferentes fuentes, aplicarle reglas de negocio y depurar la información.

En este caso separaremos los procesos para los que utilizaremos el Integration Services en dos grupos:

Extracción: Consiste en tomar la información de cada una de las tablas o archivos desde los sistemas transaccionales y se mueven a un área de Staging, la cual es una base de datos volátil, que contendrá únicamente la información de la última ejecución.

Transformación y Carga: El proceso de transformación y carga consiste en la aplicación de todas las reglas de negocio necesarias para la depuración y consolidación de información que se extrajo de los sistemas transaccionales y que se encuentra en el área de Staging hacia la base de datos del Data Warehouse

abr. 12
Bienvenidos al Blog del SQL-Server Users Group - Costa Rica

Gracias por visitarnos!!

 

​En el lado izquierdo se muestran las diferentes Categorías asociadas a los artículos publicados.

Ingrese a la categoría deseada únicamente presionando Click sobre su descripción.

 

Para Consultas sobre algún artículo publicado o para sugerir temas de su interes, relacionados con Inteligencia de Negocios, puede escribir a Víctor Zúñiga Lobo al Correo Admin@SQLUGCR.net