Como lo prometido es deuda, y como más vale tarde que nuncaJ, aquí van las demos de las novedades de BI para SQL Server 2008.
Novedades SSAS 2008 Demo
Esta demo consta de dos partes:
1. Se hace un breve repaso sobre las nuevas DMVs creadas en 2008 para monitorizar Analisis Services.
2. Se crea una solución SSAS desde cero mostrando los nuevos asistentes para la generación de cubos y dimensiones.
Novedades SSIS 2008 Demo
Esta demo consta de
1. Muestra un ejemplo de cómo trabajar con los nuevos tipos de datos fecha y hora de SQL 2008-03-18.
2. Las novedades para la transformación Lookup y como trabajar con ellas.
3. Un vistazo rápido sobre los conectores ADO.NET
4. Como trabajar con la nueva tarea data profiling y como visionar posteriormente los datos obtenidos a través del data Profile viewer.
Novedades SSRS 2008 Demo
Esta demo hace un repaso por el nuevo diseñador de informes, muestra como trabajar con el nuevo objeto Tablix así como un repaso sobre las mejoras de los gráficos y los nuevos controles gauge.
Un saludo a todos
Novedades en Integration ServicesHola, siguiendo al seminario de formación que hicimos los días 13 y 14 de febrero en las instalaciones de Microsoft Ibérica, durante la próxima semana publicaremos los videos de las demostraciones que se hicieron y de las que no dio tiempo a completar.
Para los que no pudisteis asistir (aforo completoJ),
La agenda de Business Intelligence fue la siguiente:
Novedades en Integration Services
· VSTA
· Soporte a nuevos tipos de datos
· Lookup
· Conexiones ADO.NET
· Data Profiling
· Escalabilidad flujo de trabajo
· Mejoras herramientas exportación/importación
· SuperDump
Novedades en Analysis Services
· Pensado para rendir
· Alertas AMO
· Diseño de dimensiones
· Diseño de cubos
· Diseño de agregaciones
· Monitorización de recursos - DMV
· Mejoras cálculos MDX
· Escalabilidad
· Writeback
· Data Mining
Novedades en Reporting Services
· Nueva arquitectura
· Diseñador de informes
· Gráficos
· Tablix
· Gauges
La agenda del motor relacional la podéis encontrar en http://blogs.solidq.com/ES/ElRinconDelDBA/default.aspx
Material en español:
Novedades en Integration Services Novedades en Analysis Services Novedades en Reporting Services
Material en inglés:
Integration Services News Analysis Services News Reporting Services News
Integration Services News
Analysis Services News
Reporting Services News
Por nuestra parte, fue agradable vuestra presencia, y deseamos que os haya sido de mucha utilidad el evento.
Es curioso como los programadores a lo largo del mundo cometemos los mismos errores (¿omisiones?) una y otra vez, éste en particular me tuvo una horita dando vueltas.
La historia comienza cuando queremos añadir capacidades de forecasting con el algoritmo de series de tiempo a un cubo (luego publicaré un post sobre el paso a paso para hacer esto). El caso es que me gusta hacer las cosas bien y creé esquemas específicos para que las tablas de previsión estuviesen en su sitio. Cuál es mi sorpresa, cuando veo que , mejor dicho, cuando no veo que los datos lleguen a la tabla mientras que Integration Services dice que todo fue genial.
Como siempre, Profiler al rescate, perdido y desconcertado con la situación enchufé profiler, primero al motor analítico para ver que se ejecutaba la consulta, (ya comprobé que en previo si devolvía los datos) , después al relacional y … bingo.. ahí estaba el problema.. resulta que el comando que se ejecutaba era algo así como
¿Veis el detalle? ¿a qué esquema pertenecerá [Temporales.ForecastingXXXX], pues lamentablemente no al esquema temporales, al que yo quería asignar sino al esquema por defecto, en mi caso como en la mayoría al esquema dbo.
El corchete puesto "por si acaso" hace que mi tabla se llame realmente dbo.[TemporalesForecastingXXX] lo que hace que un servidor pierda un ratito antes de darse cuenta de donde está el error. Lo reportaré y lo probaré en SQL Server 2008 (Katmai) a ver si mantiene este bug.
Saludos desde Murcia.
Miguel Egea
En 2005, No teníamos forma de saber si una fuente de datos en un flujo de datos era rápida o lenta. De forma que cuando diseñábamos teníamos que intuirlo.
En 2008 podemos saber si una fuente de datos ha llenado sus buffers y queda en espera debido a que la siguiente transformación es quien está ralentizando la ejecución. Por tanto tenemos a nuestra disposición el dato de cuánto tiempo ha esperado una fuente debido a que se ha bloqueado por un transformación posterior.
El mensaje en Katmai CTP5 es el siguiente:
During last execution the pipeline suspended output "Output 0" (96) of component "Ole Db source" (150) for 2050 milliseconds to limit the number of in-memory buffers.
Que beneficio obtenemos:
Si existen tiempos de espera en las fuenes, podemos claramente identificarlo y trabajar en la fuente, optimizar la query o utilizar otra forma de conectar.
Si no existen tiempos de espera, entonces nos podemos centrar en la optimización de las siguientes transformaciones a la fuente de datos.
Saludos y a optimizar paquetes!!!!
Francisco A. González
fgonzalez@solidq.com
A raíz de algunos post y preguntas de varias personas sobre como extraer los archivos almacenados en la base de datos de contenido de SharePoint (WSS_Content) pues nos dedicamos a indagar un poco, por supuesto advertir que las tablas a las que hacemos mención en el articulo están sujetas a cambios con actualizaciones de versiones etc. pero de momento sirve. Por otro lado alguno seguro que se está preguntando para que queremos extraer esa información si ya tenemos SharePoint, no voy a entrar a explicar los detalles pero podéis creerme que en determinadas situaciones resulta útil. Este procedimiento no tiene en cuenta el control de versiones ni la propiedad de los archivos obtenidos, pero estos se pueden obtener consultando directamente las tablas importadas a la base de datos auxiliar.
use Wss_Content_AUX
go
Create view Documentos_en_SPS
as
Select LEAFNAME, A.ID, DirNAme,Content
from dbo.AllDocs A
join dbo.AllDocStreams B
on A.id=b.id
GO
FIN
En una solución de BI, uno de los aspectos más relevantes, es el mantener una documentación acerca de las dependencias existentes entre los diferentes objetos de la solución. Por ejemplo, si modificamos una tabla del relacional, que paquetes SSIS o cubos de SSAS se verán afectados. Para facilitarnos un poco la vida, Microsoft ha liberado el SQL Server 2005 Business Intelligence Metadata Samples Toolkit. Podéis descargarlo desde http://www.microsoft.com/downloads/details.aspx?FamilyId=11DAA4D1-196D-4F2A-B18F-891579C364F4&displaylang=en
Hace un tiempo, recibimos como consulta cual era a forma correcta de asignar valores a parámetros de Reportes en Reporting Services, desde aplicaciones personalizadas tanto ASP.Net como Windows Forms.
Para ello, nada mejor que una breve demostración…. Que aquí va: mms://solidq.com/ParametrosReport.wmv
Que la disfrutéis
En SQL Server 2005, podemos tener más de una instancia de Analysis Services en el mismo servidor físico. Para que una configuración de este tipo funcione adecuadamente debemos de tener en cuenta algunas consideraciones:
· Especificar el puerto que utilizará cada instancia. De forma predeterminada Analysis Services utiliza el puerto 2383. Si cuando la instancia se inicia, este puerto está ya ocupado, entonces utilizaré el primero de los puertos disponibles de un rango dinámico. Debido a posibles problemas que nos podemos encontrar, sobre todo si necesitamos atravesar firewalls, no es conveniente dejar esta configuración. Para ello, podemos especificar los puertos que queremos que utilice cada una de las instancias de Analysis Services. Para ello no tenemos más que especificar un valor diferente a 0 en la Propiedad Port de la instancia.
· Iniciar SQL Browser. Cuando la instancia de Analysis Services se inicia, registra su nombre de instancia y el puerto en el servicio SQL Browser. Concretamente en un módulo denominado Analysis Services redirector service, que escucha en el puerto 2382.
· Cómo se conectan los clientes. De forma predeterminada el cliente se conecta al puerto 2383. Si especificamos una instancia con nombre, entonces se redirige la petición al Analysis Services redirector, que se encargará de redireccionar al puerto determinado.
· Cómo me conecto a través de un Firewall. Muy fácil, o abrimos el puerto 2382 del redirector, o abrimos el puerto por el que la instancia que está escuchando.
· Si queremos hacer una instancia invisible. Tan solo tenemos que configurar la propiedad InstanceVisible a 0, de modo que la instancia no será visible por los clientes a no ser que especifiquen el puerto.