MS SQL Server 2014 CTP 2 y sus juguetes (aplicativos) relacionados disponible para su descarga


 

Es sabido para todos vosotr@s que MS SQL Server 2014 CTP2 fue anunciado hace unas semanas atrás. Me he dado cuenta que son muchos los que han estado utilizando y evaluando el producto, así como escribiendo en español contenido del producto mismo. Considero que dicha acción es válida en vista de las recientes actualizaciones de versiones posteriores a esta PERO como la tecnología avanza sin descanso, la realidad es que en las semanas venideras, 2014 estará conviviendo con todos sus juguetes (Léase: Aplicativos adjuntos) entre nosotros.

 

Prontamente, se estará anunciando los ciclos de lanzamiento de este producto en las diferentes regiones alrededor del mundo, y es mi pensar, que si no hemos comenzado a tomar en serio la introducción de esta versión será algo tarde ponernos a tono con él para comenzar a difundirlo entre nuestros clientes.

 

 

A continuación, aquí les emito un listado con algunas de las descargas relacionadas con MS SQL Server 2014.

 

 

A testear se dijo, Smile:

 

1.- Microsoft SQL Server 2014 Community Technology Preview 2 (CTP2)
 

MS SQL Server 2014 trae a todos sus usuarios, nuevas capacidades incorporadas en memoria en la base de datos, incluyendo In-Memory OLTP que complementa nuestro almacenamiento de datos en memoria existentes, así mismo capacidades mejoradas de BI para la solución más completa en las base de datos en memoria del mercado. También proporcionará nuevas capacidades para la nube que simplificara la adopción de la nube para sus entornos de bases de datos SQL, y así, ayudarles a abrir nuevos escenarios bajo un entorno híbrido.

2.-  

Microsoft SQL Server 2014 Data Tools – Business Intelligence for Microsoft Visual Studio 2012, Community Technology Preview 2 (CTP2)

   

Esta aplicación, instalará las plantillas de proyecto de datos referente a las herramientas de Business Intelligence de Microsoft SQL Server 2014 CTP2 para Analysis Services, Integration Services y Reporting Services

3.-  

Microsoft Data-Tier Application Framework for SQL Server 2014 CTP2

   

El Microsoft Data-Tier Application Framework for SQL Server 2014 CTP2 proporciona servicios de ciclo de vida de aplicaciones para la administración y desarrollo de bases de datos

4.-   Microsoft SQL Server Data Tools for SQL Server 2014 CTP2
   

SQL Server Data Tools proporciona un entorno integrado para que los desarrolladores de bases de datos puedan llevar a cabo su trabajo de diseño de base de datos bajo cualquiera palataforma SQL dentro de Visual Studio.

5.-   Microsoft SQL Server 2014 CTP2 Product Guide
   

Descargar las fichas técnicas, white papers y presentaciones técnicas que le ayudarán a evaluar Microsoft SQL Server 2014 CTP2

6.-  

Microsoft SQL Server 2014 Reporting Services Add-in for Microsoft SharePoint, Community Technology Preview 2 (CTP2)

   

El SQL Server 2014 CTP2 Reporting Services Add-in for Microsoft SharePoint technologies nos permitirá integrar funciones de Reporting Services con la experiencia colaborativa de SharePoint.

7.-  

Microsoft SQL Server 2014 PowerPivot for Microsoft SharePoint 2013, Community Technology Preview 2 (CTP2)

    Microsoft SQL Server 2014 PowerPivot para SharePoint 2013, CTP2 amplia el escenario de SharePoint Server 2013 para agregar soporte de procesamiento, colaboración y gestión de actualización de datos en el servidor para los libros de MS Excel de PowerPivot.

 

Espero que el presente post les ayude y anime a indagar más sobre el producto.

 

Nos pillamos en una próxima, Winking smile.

Webcast – Escribiendo código T-SQL eficientemente


En el presente post, les hago entrega del webcast que realize para la comunidad SQL PASS Latam – Caracas Chapter, conjuntamente con mi compañero de SQL PASS Latam, su director Jesús Gil titulado “Escribiendo código T-SQL eficientemente”.

En el siguiente enlace, podrán descargar tanto la presentación en formato .pptx así como la grabación de manera gratuita:

https://skydrive.live.com/?cid=cfe236f1f894452b&id=CFE236F1F894452B%21122&authkey=!ADAjwja_cGEcGVU#

Hasta una próxima entrega, Winking smile.

Webcast – Fundamentos de diseños de bases de datos


En el presente post, les hago entrega del webcast que realize para la comunidad SQL PASS Venezuela – Caracas Chapter sobre los fundamentos sobre como diseñar eficientemente Bases de Datos.

En el enlace siguiente podrán descargar tanto la presentación en formato .pptx así como la grabación de manera gratuita:

https://skydrive.live.com/?cid=cfe236f1f894452b&id=CFE236F1F894452B%21117&authkey=!AGfpY_EtGQO15n4#

Hasta otra próxima entrega, Winking smile.

Serie “Análisis de datos”: Conceptos Generales de MDX (Parte 2).


Dando continuidad a la serie “Analisis de datos”, en esta entrega, culminare los últimos tópicos a tratar, referentes a los conceptos básicos del lenguaje MDX como lo son:

  • Celdas (Cells)
  • Tuplas (Tuples)
  • Conjunto de datos (Sets)

CELDAS

El siguiente ejemplo en el gráfico No. 1, podemos observar tres (3) caras de un cubo. La cara que se encuentre de frente, se encuentra dividido en 16 cuadrados, y cada cuadrado tiene un número. Supongamos que el número dentro de cada cuadrado es una medida (Como por ejemplo en el mismo “Internet Sales Amount”). Si vemos las caras visibles restantes del este cubo, se puede ver que cada cuadro que se analiza en dicha cara frontal es en realidad un cubo pequeño, cierto.

Gráfico No. 1

El “Cubito” de la esquina superior derecha podemos observar que contiene el número 1134, este mismo número se representa en los otros lados también.

El proposito mio en este enfasis es demostrarles que este cubo más pequeño se conoce como “Celda”. Las Celdas contienen los valores de los datos de todas Las Medidas del cubo. Si el valor de datos para una medida dentro de una celda no se encuentra disponible, el valor de dicha medida correspondiente es ‘Nulo’.

Ahora, el número de celdas dentro de un cubo depende del número de jerarquías dentro de cada Dimensión y el número de Miembros en cada Jerarquía, lo ven.

Hagamos una análogia, la similitud a un espacio de coordenadas tridimensional, donde cada punto esta representado por un valor de coordenada ‘X’, ‘Y’ y ‘Z’, cada Celda dentro de un cubo esta representada por los miembros de dimensión. En el siguiente gráfico, se pueden apreciar tres (3) dimensiones:

  • Productos (Product)
  • Clientes (Customer)
  • Tiempo (Date)

Grafico 2

Gráfico No. 2

Supongamos que cada una de estas Dimensiones tienen exactamente una Jerarquía, por tanto, nosotros podemos ver que la Línea de Productos cuenta con cuatro (4) miembros, Tiempo “Calendario” tiene cuatro (4) miembros también (considerando explicitamente Trimestres), y los Clientes (Paises) cuenta con seis (6) miembros. Por lo tanto, el número de celdas es igual a 4 * 4 * 6 = 96 celdas.

Supongamos que deseamos recuperar los datos que muestra el área sombreada en el cubo. El valor de la cantidad de ventas  en esta celda es de 966. Esta celda se encuentra en la intersección de Producto = Montañera, Tiempo = Trimestre 2, y el Cliente (Países) = Australia.

Para obtener estos datos según este ejemplo, la consulta MDX debe identificar de forma única la Celda que contiene el valor 966.

SELECT Measures.[Internet Sales Amount] ON COLUMNS

FROM [Adventure Works]

WHERE ( [Date].[Calendar].[Calendar Quarter].&[2011]&[2], [Product].[Product Line].[Mountain], [Customer].[Country].[Australia] )

Como se puede apreciar en la anterior consulta, se seleccionan el valor de las medidas Measures.[Internet Sales Amount] del cubo de la base de datos ‘Adventure Works’ basado en una condición particular que figure en la consulta de la clausula WHERE, la cual identifica unicamente la celda a tratar.

TUPLAS

Una expresión MDX que identifica unicamente a una celda o una sección de un cubo se denomina «Tupla».

Una tupla es representado por un Miembro de cada Dimensión, separados por una coma y encerrados entre paréntesis. A su vez, no necesariamente tiene que contener explícitamente los miembros de todas las dimensiones, cosa importante de comprender.

A continuación, les presento algunos ejemplos de tuplas basadas en la base de datos OLAP Adventure Works:

  • ([Cliente].[Pais].[Australia])
  • ([Tiempo].[Calendario].[2013].[H1 CY 2013].[Q1 CY 2013], [Cliente].[Pais].[Australia])
  • ([Tiempo].[Calendario].[2013].[H1 CY 2013].[Q1 CY 2013], [Producto].[Linea de Producto].[Montañera], [Cliente].[Pais].[Australia])

Como pueden apreciar en las anteriores tuplas, la 1 y la 2, no contienen miembros de todas las dimensiones del cubo. Sin embargo, ellas representan secciones del cubo.

Ahora, una sección del cubo representada por una tupla, se le denomina «Slice», lo cual no es otra cosa, que un subconjunto de ‘N’ matriz multidimensional que corresponde a un valor único para uno o más miembros de las dimensiones y no en el subconjunto como tal.

Una Tupla representada por un solo Miembro se llama “Tupla Simple” y no necesita ser encerrado entre paréntesis. Por ejemplo,

  • ([Cliente].[Pais].[Australia])

es una tupla simple y puede ser referido como

  • [Cliente].[PaIs].[Australia]

o simplemente

  • Cliente.Pais.Australia,

lo ven.

Ahora, cuando hay más de una dimensión en una tupla, estas sin embargo, deben ser encerrados entre paréntesis. Por tanto, cuando se hace referencia a la tupla

  • ([Cliente].[Pais].[Australia]),

realmente se refiere a la celda número 16 que corresponde al país de Australia según Gráfico No. 2 mostrado anteriormente. Por lo tanto, cuando se recuperan los datos bajo dominio por así decirlo de las celdas a las que apuntan esta tupla, se esta recuperando la cantidad de ventas de Internet ([Internet Sales Amount]) de todos los clientes en Australia según nuestro ejemplo, lo ven. El valor para la tupla [Cliente].[Pais].[Australia] es un agregado de las celdas englobadas en la cara frontal del cubo.

La consulta MDX para recuperar los datos representados por este tupla es:

SELECT Measures.[Internet Sales Amount] ON COLUMNS
FROM [Adventure Works]
WHERE ([Customer].[Country].[Australia])

Dando como resultado para esta consulta MDX según nuestro ejemplo: $9,061,000.58.

Importante comprender que no importa el orden de los miembros que se utilizan para representar una tupla, puesto que una tupla identifica una celda, no pudiendo contener a más de un miembro de cada dimensión según nuestro caso de ejemplo.

CONJUNTOS DE DATOS (SETS)

Un conjunto de Tuplas forma un nuevo objeto llamado un Conjunto de datos (Sets). Esta colección de tuplas se define utilizando exactamente el mismo conjunto de las dimensiones, tanto en el tipo y número. A su vez, estos Conjuntos de datos (Sets) se utilizan con frecuencia en las consultas y expresiones MDX.

Importante que comprendamos lo siguiente: Un conjunto de datos se especifica explicitamente bajo caracteres de llave ({ NombreObjeto }). Los Miembros de los Conjuntos de datos se separan por comas.

Los siguientes ejemplos ilustran conjuntos gratamente los conjuntos de datos:

  • Ejemplo 1: Las Tuplas (Clientes.Pais.Australia) y (Clientes.Pais.Canada) se resuelven exactamente en la misma jerarquía Clientes.País. Una colección de estas dos (2) tuplas es un conjunto válido y se especifica como: {(Clientes.Pais.Australia), (Clientes.Pais.Canada)}, lo ven. Ahora otro ejemplo.
  • Ejemplo 2: Cada una de las siguientes tuplas tienen tres (3) dimensiones: Tiempo, Productos y Clientes:

1.- ([Tiempo].[Calendario].[2012].[H1 CY 2012].[Q1 CY 20012, [Productos].[Linea de Producto].[Montañera], [Clientes].[Pais].[Australia]),
2.- ([Productos].[Linea de Producto].[Montañera], [Clientes].[Pais].[Australia], ([Tiempo].[Calendario].[2012].[H1 CY 2012].[Q1 CY 2012])
3.- ([Clientes].[Pais].[Australia], [Tiempo].[Calendario].[2012].[H1 CY 2012].[Q1 CY 2012], [Productos].[Linea de Producto].[Montañera])

Los miembros de la jerarquía [Tiempo].[Calendario] de los tres (3) tuplas anteriores son diferentes; por lo tanto, estas tuplas se refieren a diferentes celdas.

Teniendo en cuenta que de acuerdo con la definición de lo que es un conjunto, una colección de estas tuplas es un conjunto válido y se muestra aquí:

{ ([Tiempo].[Calendario].[2012].[H1 CY 2012].[Q1 CY 2012], [Productos].[Linea de Productos].[Montañera], [Clientes].[Pais].[Australia]), ([Productos].[Linea de Productos].[Montañera], [Clientes].[Pais].[Australia],
([Tiempo].[Calendario].[2010].[H1 CY 2010].[Q1 CY
2010]),([Clientes].[Pais].[Australia], [Tiempo].[Calendario].[2011].[H1 CY
2011].[Q1 CY 2011], [Productos].[Linea de Productos].[Montañera] )}

Por tanto, habiendo expuesto lo anterior, se entendera que un conjunto puede contener cero, uno, o más tuplas, cierto. Un conjunto con cero tuplas se conoce como un conjunto vacío. Un conjunto vacío se representa de la siguiente forma:

{ }

Un conjunto puede contener tuplas duplicadas. Un ejemplo de un conjunto con tales caracteristicas es:

{Clientes.Pais.Australia, Clientes.Pais.Canada, Clientes.Pais.Australia}

Como pueden observar, este grupo contiene dos (2) instancias de la tupla Clientes.Pais.Australia.

Para terminar el presente artículo, considero que debemos tener en cuenta algunos puntos importantes a la hora de entender el tema acerca de tuplas y conjuntos:

  1. Un miembro de una dimensión (Por ejemplo: ([Tiempo].[Calendario].[2011].[H1 CY 2011].[Q1 CY 2011]) de por sí mismo forma una tupla y un conjunto. Por lo tanto, se puede utilizar como tal en consultas MDX.
  2. Si hay una tupla especificada por una sola jerarquía, no necesitaremos los paréntesis para especificarlo como un conjunto. Esta tupla puede ser utilizado directamente en las consultas MDX, lo ven.
  3. Cuando hay una única tupla especificada en una consulta, nosotros no necesitaremos llaves para indicar que se debe tratar como un conjunto. Ya que cuando se ejecuta dicha consulta, la tupla se convierte implícitamente en un conjunto.

En general, es una buena práctica el usar el paréntesis y las llaves mientras escribimos consultas MDX, ya que con esto nos aseguramos que las tuplas y los conjuntos especificados en nuestras consultas MDX están exactas.

Hasta aquí el presente temario referente al Lenguaje de Programación Analítico MDX.

Espero que les aproveche en la compresión básica del mismo.

Nos pillamos en una próxima, Winking smile.

Serie “Análisis de datos”: Conceptos Generales de MDX (Parte 1).


Continuando con la serie “Análisis de datos”, en esta entrega les comentare brevemente sobre diversos tópicos referentes a los conceptos básicos del lenguaje MDX.

CONCEPTO GENERAL

Primero que todo debemos tener en cuenta que una base de datos multidimensional en MS SQL Server Analysis Services puede contener uno o varios cubos en su interior.

Un cubo es un objeto que es diseñado y usado por usuarios que analisan datos. Cada cubo puede contener al menos dos Dimensiones (una de las cuales es una dimensión llamada Medidas), pero típicamente contendran mas de dos dimensiones.

En el siguiente gráfico, podemos apreciar el contenido de la estructura de un cubo en la base de datos de ejemplo Adventure Works.

A su vez, ustedes pueden descargar e instalar esta base de datos de ejemplo y sus juguetes decorativos en el siguiente enlace: Adventure Works for SQL Server 2012.

MEDIDAS Y GRUPOS DE MEDIDAS

El objeto “Medidas” dentro de un cubo, es una dimensión de cubo especial que representan un conjunto de medidas. Estas son entidades cualitativas que se utilizan para el análisis.

Cada Medida es parte de una entidad llamada “Grupo de Medida”. Los Grupos de Medidas son colecciones de medidas relacionadas, y cada Medida solo puede ser parte de un único grupo de medida. Los grupos de medidas son principalmente utilizados para fines de navegación, así facilitando su lectura desde las herramientas clientes.

Los grupos de medidas, no se utilizan en las consultas MDX al consultar medidas. Sin embargo, se pueden utilizar en ciertas funciones MDX.

JERARQUÍAS Y NIVELES DE JERARQUÍAS

En el ejemplo de Adventure Works, se puede apreciar que las dimensiones tienen una o mas jerarquías, y cada jerarquía contiene uno o mas niveles.

El gráfico descriptivo que se muestra a continuación, muestra una simplificación de un cubo con tres (3) jerarquías:

  • Calendario (Calendar)
  • Linea de Productos (Product Line)
  • Paises (Country)

Como podemos apreciar, la jerarquía Calendario de la dimensión Tiempo consta de cinco (5) niveles:

  • Año
  • Semestre
  • Trimestre
  • Mes
  • Día

mientras que las jerarquías Linea de Productos y Paises son jerarquías de atributos con solo dos niveles:

  • Todos (All)

y según el escenario

  • Linea de Producto
  • Paises

respectivamente.

MIEMBROS

Cada Jerarquía contiene uno o más elementos que se conocen como “Miembros”, y cada miembro corresponde a una o más ocurrencias del valor de referencia en la tabla de dimensiones subyacente.

En el gráfico a continuación, les muestros los miembros de las jerarquías en modo de desarrollo de las dimensiones Clientes, Empleados y Organización de la base de datos de ejemplo Adventure Works.

Pueden obeservar que para la dimensión “Clientes”, se encuentra la jerarquía homónima, habitando en la misma los ítems Ciudad (City), Paises (Country) los cules forman parte (miembros) de la jerarquía Geografia. La de “Empleados” de igual forma que la anterior pero identificamos los ítems Departamento (Departament Name) y Genero (Gender), miembros de esta jerarquía en esta dimensión. Y la dimensión Organización, que no posee según el ejemplo Jerarquías pero si contiene miembros que según su contexto, imparte información de análisis de acuerdo a los requerimientos de negocio que se le plantee, consultandose en cualquier lugar del cubo en este caso.

En MDX, cada Miembro especifico de una Jerarquía, es identificado por un nombre único. A su vez, se puede acceder a un miembro de una dimensión con su nombre, el de la jerarquía y el nombre del nivel (ítems) o la ruta de la clave (key) como por ejemplo el miembro [T1 CY 2013] dela jerarquía Calendario representado de la siguiente manera:

  • [Tiempo].[Calendario].[Trimestre].[T1 CY 2013]

Hay que tener en cuenta, que se debe utilizar los corchetes cada vez que tenga un nombre que contiene un espacio, un número o palabra reservada MDX. De lo contrario, se podra omitir dichos corchetes. En la expresión anterior, el nombre de la dimensión Tiempo (Date en inglés) es una palabra reservada MDX, por lo cual DEBE estar encerrada entre corchetes.

Segurencia: Aunque los corchetes son opcionales, es una buena práctica utilizarlos.

Los tres (3) ejemplos siguientes, son validos para el miembro [T1 CY 2013]:

  • [Tiempo].[Calendario].[T1 CY 2013]
  • [Tiempo].[Calendario].[CY 2013].[H1 CY 2013].[T1 CY 2013]
  • [Tiempo].[Calendario].[Trimestre].&[2013]&[1]

En la primera, el miembro esta representado por el siguiente formato: [Dimension].[Jerarquia].[Miembro]. La idea de esta acción al escribirlo de esta forma, es buscar que hayan conflicto cuando dos de sus miembros posean igual nombre. Lo anterior se traduciria coloquialmente de la siguiente forma: Si el Trimestre 1 de cada año se denomina T1, no se podria utilizar este formato, que se necesita para calificar con el nombre del nivel en la expresión MDX. Utilizando este formato, siempre se recuperara T1 para el primer año de la jerarquía, lo ven.

En el segundo formato, se puede observar la ruta de navegación para el miembro que vera a su vez, todos los demás miembros en dicha ruta subsecuentamente.

El formato final que utiliza la ruta clave, por así decirlo, en el que las claves de los miembros se representando como [Miembros], estando estos mismos precedido por el signo ampersand (&) utilizando el siguiente esquema para acceder a un miembro:

Cabe destacar que esta es la forma como particularmente yo lo utilizo. Los otros formatos que he enunciado en el presente post, se les denomina “Nombre unico” (UniqueName en inglés) de un miembro de la dimensión especifica y se incluye unicamente solo como referencia.

Una recomendación que les imparto al respecto es que puedes recuperar y utilizar el nombre único, que el mismo motor genera cuando es consultado un miembro especifico, vale.

Hasta aquí les expongo el presente post, en la próxima entrega le culminare los tópicos faltantes que son

  • Celdas (Cells)
  • Tuplas (Tuples)
  • Conjuntos de Datos (Sets)

Nos pillamos en la próxima entrega, Smile.

Webcast de MS SQL Server 2012 a través de SQL PASS Venezuela, segundo semestre 2013


 

Hola a tod@s mis lectores y seguidores.

Les extiendo amablemente la invitación a la serie y programación de webcasts con temas ampliamente tecnologicos de muchos ámbitos (Desarrollo, Administración, BI y Azure), referentes a MS SQL Server 2012, y especificamente en versión SP1.

En el siguiente enlace podrás inscribirte gratuitamente: http://bit.ly/SQLPASSVENEZUELA.

A continuación, les listo el temario con el título de la conferencia, su descripción, el nombre del expositor(a), la fecha y hora:

Título: Fundamentos de diseños de bases de datos
Descripción: Establecer y afianzar los fundamentos básicos en el diseño de bases de datos en las empresas del día de hoy.
Speaker: José Redondo
Fecha: Jueves, 20 de Junio de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Fundamentos en la aplicación de una Plataforma BI
Descripción: Concretar y definir los aspectos fundamentales en la generación de proyectos de Inteligencia de Negocio en las empresas del día de hoy.
Speaker: Jesús Gil
Fecha: Viernes, 28 de Junio de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Optimización de aplicaciones de bases de datos OLTP
Descripción: Robustecer y consolidar el rendimiento en las aplicaciones de bases de datos transaccionales en escenarios con alto volúmenes de transacciones diarias en las empresas de
Speaker: Edinson Medina
Fecha: Martes, 09 de Julio de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Escribiendo código T-SQL eficientemente
Descripción: Afianzar y renovar conceptos claves en la escritura de código T-SQL en nuestros escenarios de datos del día de hoy.
Speaker: José Redondo
Fecha: Jueves, 18 de Julio de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Optimizando consultas utilizando estadísticas
Descripción: Aprovechar la información aportada por las estadísticas de los índices de tablas de datos para buscar la mejor manera de brindar resultados eficientes en nuestros sistemas de bases de datos del día de hoy.
Speaker: Guillermo Taylor
Fecha: Martes, 30 de Julio de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Utilizando el Plan Cache para optimizar procesos de consultas
Descripción: Emplear todas las bondades del Plan Cache que nos brinda SQL Server para fortalecer las ejecuciones de las consultas en nuestros escenarios de datos.
Speaker: John Bulla
Fecha: Martes, 13 de Agosto de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Aplicando AlwaysOn Availability Groups en escenarios reales
Descripción: Suministrar y consolidar las nuestras bondades de Alta Disponibilidad ofrecida por SQL Server 2012 a las empresas de hoy.
Speaker: Edinson Medina
Fecha: Miercoles, 28 de Agosto de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Integration Services vs. T-SQL: Cargando un almacén de datos
Descripción: Fundamentar y adherir las decisiones más acorde en nuestros escenarios de datos empresariales referente a la población de las bodegas de datos a través de mecanismos apropiados en consonancia a las pericias adquiridas por nuestro equipo de trabajo empresarial en el día de hoy.
Speaker: José Redondo
Fecha: Jueves, 05 de Septiembre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Buenas prácticas en el desarrollo de bases de datos multidimensionales con SSAS
Descripción: Disponer y validar las buenas prácticas en la ejecución de proyectos de desarrollos de aplicaciones OLAP en las empresas del día de hoy.
Speaker: Mary Arcia
Fecha: Martes, 24 de Septiembre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Introducción a SSRS 2012
Descripción: Presentación del servicio de reportes empresariales ofrecido por SQL Server 2012 desde todos los ángulos a servir a las empresas del día de hoy.
Speaker: Juan Romagosa
Fecha: Jueves, 10 de Octubre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Generar informes vistosos con SSRS 2012
Descripción: Establecer y diseñar estrategias novedosas en el diseño y desarrollo de informes empresariales con carácter y personalidad gerencial en las empresas de hoy.
Speaker: Mary Arcia
Fecha: Miercoles, 30 de Octubre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Introducción a SQL Azure
Descripción: Presentación del servicio de almacenamiento de datos en la nube por parte de Microsoft a las empresas de hoy.
Speaker: Miguel Mendoza
Fecha: Martes, 12 de Noviembre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Como migrar tus bases de datos SQL Server 2012 a SQL Azure
Descripción: Definir y validar los pasos a establecer en el proceso de migración de los sistemas de información transaccional en nuestras empresas a la nube.
Speaker: José Redondo / Jesús Gil
Fecha: Viernes, 29 de Noviembre de 2013
Hora: 12:30PM (Hora Venezuela)
Título: Diseño de aplicaciones de bases de datos SQL Azure
Descripción: Aplicar y establecer las normativas practicas a la hora de diseñar eficientes aplicaciones de bases de datos en la nube.
Speaker: José Redondo
Fecha: Jueves, 12 de Diciembre de 2013
Hora: 12:30PM (Hora Venezuela)

Espero les sea de mucho provecho los mismos. Animate e inscribete, a que esperas.

Tod@s están cordialmente invitados.

Nos pillamos en próxima, Winking smile.

Pie

Conceptos Fundamentales de Proyectos BI en Plataforma Microsoft (Intro)


Después de unas buenas y merecidas vacaciones estoy de nuevo por estos lados para continuarles aportándoles conocimientos del maravilloso mundo de las bases de datos en todas sus formas y sabores.

La presente será el inicio de una serie de entregas referente a la ejecución de Proyectos de Inteligencia de Negocio (Business Intelligence – ‘BI’) con herramientas Microsoft en general.

En el diagrama a exponer a continuación, les validare y expondre cada una de las fases que influirá en la ejecución de dichos proyectos con el fin de generar soluciones eficientes y exitosas a implementar en este ámbito.

Conceptos Fundamentales de Proyectos BI en Plataforma Microsoft

Como podemos visualizar ampliamente en el diagrama, cada componente es un paso vital para ejecutar dichos proyectos, a su vez, teniendo en cuenta que son constituidos los mismos con herramientas de trabajo especializadas para cada tarea a ejercer, y dichas herramientas son Productos y Servicios provistos por Microsoft como lo son entre “otros”:

Cover Intro

En la siguiente entrega de este post, tratare el primer paso a ejecutar de manera sencilla y simple, la cual lo he denominado “Programación y Planificación del Proyecto”.

Nos pillamos en la próxima, Winking smile.

Webcast: Sacándole provecho a MS SQL Server 2012 FileTable para la gestión de datos en entornos heterogéneos en 24 Horas PASS Latam (Presentación + Demos)


En el presente post, les hago entrega de la presentación así como las demos (código) que expuse en este webcast durante este grandioso evento.

PRESENTACIÓN DEL WEBCAST

 

Logo

VIDEO DE LA PRESENTACIÓN

Para poder visualizar el video de esta presentación, pueden verlo en linea a través del siguiente enlace de mi SkyDrive:

 A continuación les emito los scripts utilizado durante la presente charla:

Script T-SQL

/*
Código T-SQL  “Habilitar el servicio de FileStream”
Opciones a aplicar
0 = Deshabilita la compatibilidad de FILESTREAM para esta instancia.
1 = Habilita FILESTREAM para el acceso a Transact-SQL.
2 = Habilita FILESTREAM para el acceso de transmisión por secuencias a Transact-SQL y Win32.
*/

EXEC
    sp_configure
        filestream_access_level,
        2
RECONFIGURE
GO

——————————————————————————————

Código T-SQL  “Crear base de datos ha aplicar dicha opción”

CREATE DATABASE DBT_24HorasPASSLatam_DemoFileTable
    ON PRIMARY
        (Name = DBT_24HorasPASSLatam_DemoFileTable,
    FILENAME = ‘C:\Users\Cheo\Documents\MS SQL PASS Group Venezuela\SQL PASS Venezuela 2012\Webcast – 24 Horas PASS Latam\DBT_24HorasPASSLatam_DemoFileTable.mdf’),
    FILEGROUP FGR_PRIMARIO
        CONTAINS FILESTREAM
            (
            NAME = DBT_24HorasPASSLatam_DemoFileTable_FileTableFS,
            FILENAME=’C:\Users\Cheo\Documents\MS SQL PASS Group Venezuela\SQL PASS Venezuela 2012\Webcast – 24 Horas PASS Latam\FS’
            )
            LOG ON
            (
            Name = DBT_24HorasPASSLatam_DemoFileTableLog,
            FILENAME = ‘C:\Users\Cheo\Documents\MS SQL PASS Group Venezuela\SQL PASS Venezuela 2012\Webcast – 24 Horas PASS Latam\DBT_24HorasPASSLatam_DemoFileTableLog.ldf’
            )
            WITH FILESTREAM
                (
                NON_TRANSACTED_ACCESS = FULL,
                DIRECTORY_NAME = N’DBT_24HorasPASSLatam_DemoFileTable’
                );
GO

——————————————————————————————

Código T-SQL  “Validando las opciones de FileStream”

SELECT
    DB_NAME(database_id),
    non_transacted_access,
    non_transacted_access_desc
FROM
    sys.database_filestream_options;
GO

——————————————————————————————

Código T-SQL  “Crear una tabla FileTable”
 
USE DBT_24HorasPASSLatam_DemoFileTable
GO

CREATE TABLE
    TBL_FileTableDEMO AS FileTable
WITH
    (
    FileTable_Directory = ‘TBL_FileTableDEMO_Dir’
    );
GO

——————————————————————————————

Código T-SQL  “Seleccionar datos desde FileTable” – Tabla vacia

USE DBT_24HorasPASSLatam_DemoFileTable;
GO

SELECT
    *
FROM
    DBT_24HorasPASSLatam_DemoFileTable.dbo.TBL_FileTableDEMO
GO

——————————————————————————————

Código T-SQL  “Seleccionar datos desde FileTable” – Tabla poblada

USE DBT_24HorasPASSLatam_DemoFileTable;
GO

SELECT
    [name] AS [Nombre de archivo],
    [file_type] AS [Tipo de archivo],
    CAST ( [file_stream] AS VARCHAR ) AS [Archivos almacenados],
    [cached_file_size] AS [Tamaño de archivo],
    [creation_time] AS [Fecha de creación],
    [last_write_time] AS [Fecha ultima escritura],
    [last_access_time] AS [Fecha ultimo acceso]
FROM
    DBT_24HorasPASSLatam_DemoFileTable.dbo.TBL_FileTableDEMO
GO

——————————————————————————————

Copiar datos, Comando T-SQL ‘INSERT’

USE DBT_24HorasPASSLatam_DemoFileTable;
GO

INSERT INTO
    DBT_24HorasPASSLatam_DemoFileTable.dbo.TBL_FileTableDEMO
    (
    [name],
    [file_stream]
    )
    SELECT
        ‘Ejemplo.pptx’,
        * FROM OPENROWSET
            (
                BULK N’C:\Users\Cheo\Documents\MS SQL PASS Group Venezuela\SQL PASS Venezuela 2012\Webcast – 24 Horas PASS Latam\Ejemplo.pptx’ ,
                SINGLE_BLOB
            )
                AS [Archivo de datos FT]
GO

——————————————————————————————

  Código T-SQL  “Identificar directorio y/o archivos”

USE DBT_24HorasPASSLatam_DemoFileTable;
GO

SELECT
    [name] AS [Nombre de archivo],
    [file_type] AS [Tipo de archivo],
    CAST ( [file_stream] AS VARCHAR ) AS [Archivos almacenados],
    [cached_file_size] AS [Tamaño de archivo],
    [is_directory] AS [Es directorio]
FROM
    DBT_24HorasPASSLatam_DemoFileTable.dbo.TBL_FileTableDEMO
GO

——————————————————————————————

Código T-SQL – «Identificar rutas de archivos»
                     
SELECT
    FileTableRootPath ( ‘DBT_24HorasPASSLatam_DemoFileTable’ ) AS [Ruta de archivo]
GO
——————————————————————————————

Código T-SQL – «Identificar identificador para los archivos»
                     
SELECT
    GetPathLocator ( ‘\\Lapsql01\lapsql01\DBT_24HorasPASSLatam_DemoFileTable\TBL_FileTableDEMO_Dir’ ) AS [ID de ubicación de archivo]
GO

——————————————————————————————

Código T-SQL – «Establecer ruta relativa de los archivos / directorio»
                     
SELECT
    file_stream.GetFileNamespacePath () AS [Ruta]
FROM
    DBT_24HorasPASSLatam_DemoFileTable.dbo.TBL_FileTableDEMO
GO

Espero que la presente exposición les sea útil en el manejo de datos heterogeneos en sus escenarios empresariales.

pass_summit_2013

Nos pillamos en una próxima entrega, Winking smile.

Introducción a SQL Azure (2da. Entrega)


En el presente post, continuo exponiendo la base teorica-practica sobre la plataforma de Administración y Gestión de Datos en la nube propuesta por Microsoft denominada SQL Azure.

En la primera entrega le comente sobre que era, como esta construido, las tecnologías que se encontraban involucradas así como sus conceptos claves y las diferencias entre MS SQL Server y SQL Azure como tal.

A continuación, le comentare en la presente entrega sobre como trabajar con esta maravillosa plataforma de datos en general, creando y conectandonos a una base de datos SQL Azure.

Los pasos para crear una base de datos SQL Azure corresponden a la necesidad prioritaria de crear ante todo una cuenta en la Plataforma Operativa en la Nube de Microsoft como lo es Windows Azure, el cual viene proveyendo un servidor SQL Azure respectivamente.

Los tópicos que deseo tratar son los siguientes:

  • Regístrese para obtener una cuenta Azure de prueba gratuita de 90 días
  • Proveernos de un servidor de SQL Azure
  • Crear una base de datos SQL Azure usando el portal de gestión de Azure
  • Configurar todo lo referente a la configuración de seguridad inicial de dicha plataforma
  • Conectarse a SQL Azure usando el SQL Server Management Studio

Registrarse para obtener una cuenta Azure de prueba gratuita de 90 dias

Como lo mencione en la primera entrega, una base de datos SQL Azure se encuentra hospedada en un servidor SQL Azure y que este servidor esta asociado con una cuenta a la Plataforma Windows Azure. Por lo tanto, con el fin de mostrarle como crear una base de datos bajo este contexto tecnológico, tendremos que crear una cuenta en Windows Azure. Lo que se expondrá en los gráficos siguientes.

En el presente gráfico, no explica que al ingresar y solicitar asociarnos a una cuenta, debemos de cumplir una serie de requisitos según su licenciamiento asignandole un nombre como tal para identificarnos ante la misma ejecutando la misma de la siguiente manera:

  • Después, proceder a registrarse con una cuenta existente de Windows Live, o en caso contrario de no tenerla, pues proceder a crear una con la cual trabajas en dicha Plataforma.
  • Aceptar los parametros de licenciamiento, no antes asignandole un nombre como identificación.

  • Validar que servicios deseamos instalar en nuestra maquina local para acceder a construir lo que deseamos trabajar en Azure.

  • Habiendonos logueado con la cuenta Windows Live, el sitio nos indica que procederemos a ingresar a la nueva versión del Portal de Azure como se refleja en la siguiente gráfica.

  • Ahora, se nos informa de que debemos asociar nuestra cuenta Live con Azure.

  • En estos momentos, procederemos a ingresar la información para contratar los servicios de Azure, empezando el proceso de suministro de información, la cual, se utilizará para convertir la versión de prueba gratuita en una cuenta pagada al final del período de prueba de 90 días.

Con esto, estando utilizando la cuenta de prueba, suministramos la información pertinente en cuanto a la facturación de nuestro servicio, incluyendo un número de tarjeta de crédito y un número de móvil valido procediendo de la siguiente forma:

  • Proporcionando un número móvil valido y dándole click en Enviar SMS. Con esto, Microsoft nos enviará un código de verificación para el número de teléfono móvil que hemos proporcionado
  • Introducimos el código de verificación enviado a nuestro número móvil y hacemos click en Verificar código. Cuando obtenemos la aprobación de dicho código, hacemos click en la flecha derecha de la pantalla.
  • En este momento, el sistema nos solicitará la información confidencial de nuestra tarjeta de crédito y aceptamos los términos del plan de acuerdo y tasa de suscripción. Damos click en siguiente y entramos directamente al Portal Administrativo de Azure.

Proveernos de un servidor de SQL Azure

Ahora que hemos establecido una cuenta de Windows Azure, podemos proporcionarnos de un servidor de SQL Azure. Aquí están algunas pautas que hay que tener en cuenta a la hora de configurar dicho servidor:

  • Se nos pedirá que seleccionemos una región para el servidor, basado estos en la ubicación de los centros de datos de Microsoft Azure. A su vez, tenemos que tener en cuenta que no podemos mover un servidor de un centro de datos a otro, así que asegurémonos de que hemos elegido una región que proporcionará conexión adecuada para su ubicación con una latencia mínima. Además, si decidimos explorar otras ofertas de Azure, como Reporting Services, asegurémonos de colocar el servidor de informes en el mismo centro de datos como su servidor de SQL Azure, para reducir al mínimo los cargos de tráfico de datos, ok.
  • Una vez que hemos elegido una región y continuamos con el aprovisionamiento de servidores, se nos asignarán el o los respectivo(s) nombre de cuatro partes DNS para el servidor. A su vez, no hay ninguna indicación en el nombre que le hayamos asignado como a los que la región que hemos elegido anteriormente, a pesar de que se proporcione información del mismo en el Portal de Administración de Azure, vale.

Aquí les doy los pasos para aprovisionarnos de un nuevo Servidor SQL Azure:

  1. Desde el Portal de Administración de Azure mostrado en el gráfico anterior, le damos click en el icono de la barra de herramienta nombrada “New Database Server”.
  2. Nos aparece el cuadro de crear dicho servidor, seleccionamos una región acorde a lo expuesto anteriormente, listandonolos en el cuadro de texto de los datacenters de Azure disponibles, y le damos click en “Next”.
  3. El asistente nos guiará a través del proceso de la creación de una cuenta administrativa, con la cual, configuramos las reglas que le dictaremos a nuestro Firewall (contrafuego). Este tópico lo trataré a continuación.

Configuración de la seguridad

Antes de completar el proceso para aprovisonarnos de un servidor SQL Azure, necesitaremos crear una cuenta como Administrador. Yo en lo particular tiendo a colocar nombres a mis logins y contraseñas con un sin número de diversos carácteres para así ampliar la seguridad de los mismos. Con esto, permitimos a nuestros clientes administradores conectarse a través del contrafuego de Azure.

Ya con esto, nosotros seremos capaces de conectarnos y administrarnos a nuestro(s) servidor(es) Azure desde el Portal Administrativo de Azure basado en la web asuando una cuenta asociada Windows Live ID con la cuenta Azure que dispongamos. Ahora, para crear una nueva cuenta administrador de nuestro Portal, podemos hacerlos, conectandonos a SQL Azure a través de otras herramientas como lo es el SQL Server Management Studio (SSMS).

De manera similar, podemos ser capaces a su vez, de conectarnos a SQL Azure el Portal Administrativo basado en la web de Azure por medio de nuestra dirección IP. Para lograr este acometido, necesitaremos autorizar nuestra dirección IP, conectandonos a través del contrafuego en el mismo orden que usemos otras herramientas como lo es el SSMS, okis.

Cabe destacar de manera importante, que las cuentas nombradas a continuación:

  • admin
  • administrator
  • sa
  • root
  • guest
  • dbmanager
  • login

no están permitidas bajo ningún parametro o circunstancia, vale. Este punto es muy importante que lo tengan en cuenta, POR FAVOR.

Creando nuestra primera base de datos SQL Azure

Ya que tenemos provisto nuestro servidor SQL Azure, creamos nuestra base de datos desde el portal. También lo podemos crear desde el SSMS facilmente por medio de esta opción que nos indica el siguiente gráfico:

Para crear una nueva base de datos SQL Azure, deben de seguir los siguentes pasos:

  1. Seleciconamos el servidor SQL Azure a través del Portal Administrativo de Azure.
  2. Le damos click al botón “Create” en la barra Ribbon.
  3. Asignamos un nombre, el tipo de edición que utilizaremos y la capacidad que querramos para nuestra nueva base de datos.
  4. Seleccionamos nuestra nueva base de datos SQL Azure en el cuadro mostrado y le damos click en “Test Connectivity” en la barra Ribbon, proveyendo por supuesto, nuestras credenciales como Administradores. Aclaro que no necesariamente debe ser nuestra cuenta WL id, ok. Le damos click ahora en “Connect”.
  5. Ya finalizado el proceso, le damos click en “Close”.

Adicionalmente, podemos también crear directamente nuestras bases de datos SQL Azure desde el SSMS, consumiendo todas las bondades que la interfaz gráfica del SSMS nos ofrece para crearlas o en caso contrario, ejecutando scripts de T-SQL.

Una vez creada la base de datos en SQL Azure, podemos crear objetos de base de datos, como por ejemplo:

  • Schemas
  • Tablas
  • Vistas entre otros

Y para cargar datos en dichas bases de datos, podemos hacerlo, ejecutando scritps de T-SQL, paquetes ETL de SQL Server Integration Services, a través del programa BCP y otros clientes compatibles con Azure.

Sinceramente, les confieso que es fantisco trabajar bajo este ambiente ya que es muy intiuito y ameno.

Con esta sencilla pero jugosa entrega, culmino esta ponencia de dos partes sobre este tópico que a muchos probablemente les llame la atención en conocer pero que pocos se atreven a estudiar.

Lo invito a explorar la misma, vale.

Nos pillamos en una próxima, Winking smile.

Introducción a SQL Azure (1ra. Entrega)


SQL Azure es un servicio provisto desde Microsoft, referente a proveer almacenamiento y seguridad en cuanto a base de datos pero basado en un 100% en la nube. Esta es una parte de la Plataforma de Servicios de Datos de Microsoft Windows Azure, ofreciendo los servicios de gestión de bases de datos de SQL Server sin necesidad de una infraestructura física local.

El objetivo fundamental de esta plataforma es que podamos escribir consultas de datos de cualquier índole en SQL Server, también podamos ser capaces de escribir la mayoría de las consultas en una base de datos organizada por SQL Azure.

En el presente post, iniciaré una serie en dos partes a tratar los tópicos básicos sobre Azure y su relación con el motor de base de datos SQL.

En esta primera entrega les hablare sobre una vista rápida de esta plataforma y en la segunda sobre como trabajar con la misma. Así que espero les sea de mucho provecho e instrucción este tema para su vida informática.

VISTA RAPIDA DE SQL AZURE

En esta vista rápida, aprenderemos sobre los siguientes puntos a mencionar:

  • Qué es SQL Azure?
  • Conceptos claves en SQL Azure.
  • Diferencias entre MS SQL Server y SQL Azure.

Como les mencione al principio, SQL Azure es el área de bases de datos de la Plataforma en la nube de Microsoft, el cual nos provee escalabilidad a un costo bajo, alta disponibilidad, y nos reduce el administrar la sobrecarga que podamos tener en un servidor SQL en físico. También puede ser usada para aumentar la infraestructura existente que tengamos de SQL Server, dando soporte con esto de nuevos aplicativos que consuman datos hospedados en la nube sin necesidad de requerir servidores físicos en nuestro lugar de trabajo.

Qué es SQL Azure?

Como componente de base de datos de la Plataforma Microsoft Windows Azure, SQL Azure es un conjunto de herramienta donde de manera rápida y sencilla podemos en el menor tiempo posible administrar bases de datos, reportar los datos hospedados en la misma así como sincronizar datos hospedados en la nube así como en servidores SQL físicos en nuestros escenarios de trabajo cotidianos con capacidad de Importar y Exportar datos de forma transparente para los usuarios que consumen estos datos.

El punto clave que debemos tener en cuenta es que SQL Azure nos provisiona de forma simple de bases de datos que podemos escalarlas a medida que nuestros requerimientos de datos se incremente. Otro objetivo fundamental es que nos elimina la necesidad de administrar servidores físicos, incluyendo el sistema operativo focalizándonos explícitamente en los datos que vamos a consumir. Esto en contraste con la realidad de muchos que tenemos que lidiar las instalaciones de instancias, adminístralas así como validar el entorno físico del mismo.

Esto es imperativamente clave de asumir a la hora de estar al frente de un ecosistema con estas características ya que al abstraernos de servidores físicos por servidores lógicos tenemos ante nosotros el factor clave de ver las grandes diferencias en cuanto a características están soportadas en MS SQL Server y SQL Azure. Por ejemplo, SQL Azure no es compatible con el acceso al sistema de archivos del servidor, lo que significa que las declaraciones de creación de base de datos que hacen referencia a archivos locales en un servidor en las instalaciones tendrán que ser modificados para funcionar en SQL Azure.

Se debe de tener en cuenta que desde la perspectiva del editor de consultas de SQL Server, SQL Azure funciona como un simple servidor SQL Server con algunas distinciones importantes que las enunciare y comentare a continuación, siendo capaces de escribir instrucciones SELECT para consultar tablas y vistas, invocando funciones y procedimientos almacenados alojados en las bases de datos en SQL Azure como lo haríamos a nivel local.

Conceptos claves en SQL Azure.

Más allá del motor de base de datos relacional provisto en SQL Azure, es necesario entender el modelo de hay detrás de la plataforma Azure, de modo que podamos configurar nuestra propia cuenta de acceso, el manipular el servidor propiamente dicho, y lo mas importante, el crear bases de datos.

Ahora, es vital comprender la relación que existe entre estos tres objetos básicos en SQL Azure:

  • La cuenta Azure.
  • El servidor SQL Azure.
  • La base de datos SQL Azure.

Por lo tanto, el proceso de creación de una base de datos SQL Azure comienza a nivel de cuenta. Les enseñaré en el próximo post como crear una cuenta de Azure.

Debemos tener en cuenta lo siguiente, que debido a la relación que hay entre cuentas de usuario, servidor Azure, base de datos y operaciones entre bases de datos y servidores (Por ejemplo, Consultas cruzadas, procesos de replicación entre otras configuraciones de alta disponibilidad), no se admiten en la Plataforma SQL Azure. Por lo tanto, es necesario tener mucho cuidado cuando evalúen las aplicaciones que puedan tener en estos momentos en su ecosistema de datos antes de efectuar una migración a SQL Azure, ok.

Diferencias entre MS SQL Server y SQL Azure

Como hemos estado aprendido con lo comentado anteriormente, el objetivo de SQL Azure es la abstracción de la administrativa lógica de las bases de datos desde el entorno físico a la nube. En SQL Azure, la propia Microsoft administra todo el hardware físico involucrado en la operatividad de este ecosistema y a su vez, el almacenamiento de los datos que se hospeden allí. Todo esto queda bajo su responsabilidad al 100%. Ahora, los administradores de su organización seguirán administrando la seguridad, el implementar bases de datos, y el crear objetos de base de datos, como tablas, vistas e índices. Sin embargo, y es importante recalcarlo que hay algunas diferencias clave entre la forma en que algunas de las tareas se realizan en un entorno de SQL Azure como lo expondré en el siguiente cuadro:

Añadiendo a lo anteriormente expuesto, cabe destacar que no todas las características del motor de base de datos de MS SQL Server son soportados por SQL Azure, incluyendo las capacidades de tener multiples bases de datos así como multiples servidores.

Aquí finalizamos esta primera parte introductoria a esta fantastica plataforma de datos denominada SQL Azure.

Nos pillamos en una próxima, Winking smile.