Publicado Curso gratuito sobre Microsoft SQL Server R2 Master Data Services

Posted by Miguel Egea | Posted in Noticias, Relacional | Posted on 26-03-2010

0

Clinic 10331: Introduction to Microsoft SQL Server 2008 R2 Master Data Services

Introducción
This two-hour clinic describes the capabilities of Microsoft SQL Server 2008 Master Data Services.This clinic covers the following topics:Master Data Services concepts, hierarchies, how to plan and implement Master Data Services Projects.

Users completing this collection should have a basic understanding of SQL Server and relational database systems. It is also desirable to have an understanding of dimensions in analytic models.

Objetivos
Al finalizar el curso, los alumnos serán capaces de:
  • Explain the importance of and value provided by master data management and the features provided by Microsoft SQL Server Master Data Services.
  • Explain the core concepts in designing master data management solutions.
  • Describe the process involved in implementing a solution using Microsoft SQL Server Master Data Services

Publicado el centro de Desarrollo SQL en MSDN

Posted by Miguel Egea | Posted in Noticias, Relacional | Posted on 25-03-2010

0

Llevabamos un tiempo trabajando tras de cámaras y hoy por fin está ya publicado.   Mañana os pondré también algunas otras novedades.

De momento  disfrutad con el centro de desarrollo de SQL

Video demostración. Tutorial SSIS Capitulo I

Posted by Miguel Egea | Posted in SQL Server Integration Services, Tutoriales | Posted on 18-03-2010

0

En el video podéis ver el como se hizo del ejemplo del primer tutorial. Disculpad mi acento y los ruiditos que se oyen, como esto no es TV sino solamente un ejemplo no he editado todo para que parezca totalmente profesional.. También tendría que haberme hecho una operación de cambio de voz :) en fin.. sin enrollarme, aquí teneis el link

Tutorial de SSIS. Capitulo I. Mis primeros pasos con el flujo de control

Posted by Miguel Egea | Posted in SQL Server Integration Services, Tutoriales | Posted on 17-03-2010

1

Introducción

El flujo de control de los paquetes de Integration services siven para orquestar todos los pasos que hay que ejecutar para consolidar la información. Son el auténtico WorkFlow de los procesos de extracción transformación y carga. Cualquier operación que tengamos que hacer para consolidar información, para extraer información de un origen y llevarla a un destino tendrá una serie de pasos, esos pasos se orquestarán mediante los flujos de control.

Ejemplos:

Renemos que descargar un conjunto de ficheros e incorporar cada uno de ellos a una base de datos, despues de incorporarlo si el fichero se incorporó por completo irá al directorio de completados y si falló algo al de incorporados con error. Esta funcionalidad se implementa usando tareas ftp que vayan a descargar el fichero y lo dejen en un directorio. Despues usaremos un bucle para recorrer todos los ficheros y llamar a su incorporación y una tarea en caso de acierto que lleve el fichero al directorio adecuado y otra que lo haga en caso de fallo al directorio de erroneos.

Tareas que hay que hacer en secuencia. Por ejemplo, primero hacemos un backup de una base de datos, despues reorganizamos índices, chequeamos integridad y hacemos otra copia.   O bien, consolidamos los datos a un datawarehouse, despues procesamos las dimensiones de un cubo y despues sus grupos de medida.

Algunos elementos del flujo de control

Cuando abrimos el entorno de Bussinnes Intelligence Development Studio, nos aparece lo primero el flujo de control. La barra de herramientas es la que está orientada al flujo de contro. Además de los componentes que podemos pinchar y arrastrar, es importante conocer las formas en las que podemos unir cada una de las cajitas, que operación hará que vayamos por un lado del flujo o por el otro.

Una categoría de objetos que resulta muy interesante de tratar son los Contenedores , en el gráfico de arriba podemos ver los For Loop Container, Foreach Loop Container, Sequence Container.

Sequence Cotainer.Este componente no es más que un contenedor de otros componentes, pero sirve tanto para paralelizar procesos (que varias cajitas se ejecuten a la vez) como para  que un conjunto de procesos solo se ejecuten si se ha producido un evento anterior o bajo determinadas circunstancias. Veremos ejemplos a lo largo de este artículo.  .

For Loop Container. Es un bucle al estilo de la programación normal en el que se especifica la clausula de inicialización, la cláusula de evaluación (detiene el bucle cuando devuelve False, es por tanto una expresión booleana) y la clásula de asignación, que sirve para cambiar los valores y que la expresión booleana  que se evalua pueda ir cambiando. En resumen es equivalente a cualquier bucle de un entorno de programación normal.

Foreach Loop Container. Este bucle recorre elementos de una colección, la colección pueden ser desde ficheros en un directorio hasta registros en un dataset. Dependiendo del tipo que se haya seleccionado.

File System Task. Esta tarea nos va a servir para ilustrar nuestro primer ejemplo. Es una tarea que sirve para hacer operaciones con archivos, copiar, mover, eliminar, etc. En la siguiente tabla podemos ver las opciones que tiene para con los ficheros y por tanto que tareas podemos hacer.

Operación Descripción
Copy directory Copia un directorio de una posición a otra.
Copy file Copia un fichero de una posición a otra.
Create directory Crea un directorio en un lugar determinado
Delete directory Borra un directorio de un lugar determinado
Delete directory content Borra todos los ficheros y directorios de un directorio.
Delete file Borra un fichero de una posición determinada
Move directory Mueve un directorio de una posición a otra
Move file Mueve ficheros de una posición a otra
Rename file Cambia el nombre de un fichero seleccionado
Set attributes Establece atributos de ficheros y directorios. Los tributos pueden ser, Archivo, Oculto, Normal, Solo Lectura y sistema. Normal, recuerda es la ausencia de otros atributos, así pues no puede ser combinado con otros.todos los otros si que pueden ser combinados

En cualquier caso lo que pretendemos con este capítulo no es enumerar los posibles objetos, para eso ya teneis los libros en pantalla que los explican incluso mejor que lo que humildemente yo pueda hacer aquí. Lo que pretendo es que aprendais un uso concreto del flujo de control e ilustrar este a través de ejemplos. Creo que con ejemplos es como mas se aprende.

Primer Ejemplo

En este primer ejemplo vamos a ver como usar un componente ForEach para recorrer los archivos de un directorio y como obtener el nombre de ese fichero y trabajar con él en una tarea.

Lo primero que vamos a hacer es arrastrar un componente ForEach y modificar su mensaje (para ello pulsamos F2) Yo particularmente soy de los partidarios de que los nombres sean descriptivos y ahorrar en documentación, Creo que así, si queda todo autoexplicado es mucho má sencillo de mantener que tener al lado montañas de documentación de los proyectos que tienen una tendencia especial a quedarse automáticamente obsoletas (eso si no son hechas cuando ya no hacen falta simplemente para cubrir el expediente).

La caja en cuestión tiene una serie de propiedades, primer punto  de atención, si estás acostumbrado a Visual Studio igual tienes la tentación de pulsar F4, bien hecho, pero los componente de SSIS tienen un método más sencillo de ser configurados (por norma general) que se obtiene haciendo doble click en la cajita en cuestión en lugar de pulsando la tecla F4. También vale pulsar con el botón derecho del ratón y elegir la opción Editar para conseguir el mismo efecto.

En nuestro caso el Bucle ForEach tiene 4 pestañas de configuración que son General, Collection, Variable Mappings y expressions. Sobre el tema de expressions ya iremos hablando, así que os pondré los pantallazos de como quedan las otras tres en nuestro caso y os comentaré a continuación que conseguimos con estos formatos (los dejaremos para este ejemplo pero habrá que ir cambiandolos para los sucesivos.

 

En la primera pestaña tenemos el nombre de objeto y su descripción, la parte importante viene en el segundo y tercer lugar. En la  segunda pestaña podemos ver que es un bucle para recorrer ficheros en un directorio, cual es el directorio, que tipo de ficheros queremos recorrer y como queremos que nos devuelva el nombre del fichero (Full qualified quiere decir que con el path completo).  Por ultimo hay un check por si queremos recorrer subdirectorios.  En la tercera pestaña podemos ver que nos va a devolver en una variable (que hemos creado desde el propio asistente lo que el objeto tenga en la posición 0, que os adelanto que es el nombre completo del archivo que ha leido.

Con esta configuración ya podemos leer los ficheros y saber como se llaman. Si ejecutasemos ahora mismo nuestro paquete, se nos pondría en verde diciendo que ha terminado correctamente, sin embargo, a mi me gustaría que en este primer paso, al menos comprobasemos que  ha funcionado, y para ello se me ocurre que podemos añadir una tarea de modificación de ficheros y cambiarle el atributo a nuestros archivos por ejemplo a solo lectura.

Para ello hemos de arrastrar dentro del contenedor la tarea de File System y configurarla para que el fichero lo tome de nuestra variable y además que sea una operación de tipo cambio de atributos (lo que cambiará las propiedades que hemos de rellenar). En nuestro caso la configuración quedará como sigue :

Las flechas azules indican las cosas que hemos cambiado, y el resultado de la ejecución es que los ficheros quedan con el atributo cambiado a solo lectura. Podeis descargar el ejemplo aquí (ponedlo en c:\ para que funcione sin tocar).

SQL Server 2008 R2 White papers (Data Tier Applications)

Posted by Miguel Egea | Posted in Relacional | Posted on 17-03-2010

0

Ya hay algunos publicados, en un perfecto inglés. No es nada nuevo, en nuestra profesión ¿verdad?  En este caso podemos aprender sobre la nueva funcionalidad Data-Tier applications, que es una ayuda a mantener el ciclo de vida de una aplicación de datos, tanto para objetos de bases de datos (procedimientos almacenados, tablas) como de instancia (logins). 

Todo queda muy bien explicado en este libro blanco

Publicadas las fechas para el lanzamiento de Visual Studio 2010

Posted by Miguel Egea | Posted in Noticias | Posted on 16-03-2010

0

El slogan que ha elegido microsoft para el evento de lanzamiento en España es
/* CREANDO CÓDIGO NUEVO, TODO EN LA VIDA VUELVE A EMPEZAR*/
Me gusta, suena como la canción de jorge drexler, Todo se transforma, cuyo estribillo uso mucho en mi vida diaria.. “Nada es mas simple, No hay otra norma, Nada se Pierde, Todo se Transforma” , la verdad es que me gusta.

La defición que han dado a Visual Studio 2010, es “La herramienta para desarrollar el código más creativo, más rápido y más productivo” y lo cierto es que cada versión supera a las anteriores en estos tres aspectos, tanto que los que seguimos el mundo del desarrollo como algo paralelo a nuestra actividad principal nos vemos abrumados a veces con el montón de novedades que incorpora cada una de las nuevas versiones. Aún así, esto que muchos colegas suelen criticar a mi me parece muy loable. Nadie critica a un coche porque lleve muchas funcionalidades, aunque no seamos capaces de leernos el manual que nos sirve para conducirlo.
Así pues, ole, sigamos progresando que es lo que nos mantiene vivos.

Si quieres reservar plaza te pego los links aquí para que lo hagas
Barcelona el 13 de abril
Madrid, 20 de abril
Bilbao, 22 de abril
Valencia, 27 de abril
Sevilla, 29 de abril

Pues eso, a disfrutar del evento de lanzamiento de Visual Studio.

O.T.: Configurar la protección infantil para Windows

Posted by Miguel Egea | Posted in O.T. | Posted on 08-03-2010

0

Se que este es un contenido totalmente fuera del temario de este blog, sin embargo, dí el año pasado o el anterior una charla en el colegio de mis hijos, y me parece que es algo que nos preocupa a todos los padres. Así que aquí teneis el documento.

Seguidores de SQL, tranquilos que no he cambiado el tema :)

Configurar protección infantil en Windows XP

Guía de Rendimiento para Analisys Services 2008

Posted by Miguel Egea | Posted in Analisys Services | Posted on 08-03-2010

0

La descarga que tenéis aquí es una guía práctica de rendimiento en Analisys Services 2008.

Espero que la disfruteis