Panel de control de la base de datos del catálogo de SSIS

Un usuario Pregunto ✅

brazo extensible

Hola,

No se trata tanto de una historia de datos como de una plantilla para un panel de control para observar su propia actividad de SSIS.

Utilizo mucho SSIS en mi trabajo y, a lo largo de los años, he utilizado varias herramientas para ayudarme a administrar los paquetes y clasificar los problemas.
Estos incluyen mis propios registros de SSIS, los informes de SSMS listos para usar, el paquete de informes de Jamie Thompson y varias consultas del catálogo de SSIS.

Tenía un Panel PowerBI de SSIS de consulta única bastante bueno, pero era lento en catálogos grandes y limitado en su uso.

Empecé a trabajar en un nuevo panel que proporcionaba todas las funciones de todas mis herramientas anteriores y en el momento en que vi una publicación de Chris Schmidt (enlace a continuación) y decidí usar esto como punto de partida.

Mi tablero aún no está terminado, pero después de muchas iteraciones, creo que será útil para otros que necesitan monitorear y comprender lo que están haciendo sus paquetes SSIS.

Publiqué esto por primera vez en 2017 y acabo de revisarlo para que sea compatible con algunas de las nuevas características que ahora son compatibles con las versiones del servidor de informes y escritorio de agosto de 2018. Pruébelo y avíseme si detecta algún problema o algo que podría mejorarse.

Traigo y resumo los datos en una variedad de niveles

SSISDB_Dashboard_v1_03_Summary-Summary2.PNG

Ejecución (ejecución y resumen de ejecución) El paquete que se ejecuta primero, al que he denominado RootPackageName. Esto incluye el Proyecto y la Carpeta
Paquete (Estadísticas del paquete ejecutable) Resumen del paquete. Agrupo los Paquetes por Tipos, por ejemplo, Maestro/Dimensión/Hecho/Etapa/PostProceso. Puede personalizarlos en la tabla PackageTypes. Haga clic en Editor avanzado para cambiarlo.
Elementos ejecutables (estadísticas ejecutables) dentro del paquete, por ejemplo, tareas/flujos de datos/secuencia. También llamo a este nivel Pasos del Paquete
Clasifico paquetes y tareas en tipos mediante una búsqueda de palabras clave. p. ej., Paquete que inicia Fact para cargar tablas de Fact.

Los nombres de tipo de tarea se basan en convenciones de nomenclatura SSIS comunes.

Este tablero también proporciona detalles de cualquier error de paquete y los asigna a los nombres de referencia de errores de IS de Microsoft.

Las ejecuciones individuales se pueden ver como un diagrama de Gantt basado en texto o como una matriz de ejecuciones por intervalos de tiempo.

SSISDB_Dashboard_v1_00_Summary-ExecutionList.PNGSSISDB_Dashboard_v1_00_Ejecución-Gantt.PNGSSISDB_Dashboard_v1_00_Execution-ExecutionSummary.PNGSSISDB_Dashboard_v1_00_OverTime-StepsOverTime.PNG

Finalmente extraje la Jerarquía de las rutas de ejecución para hacer un diagrama de Red y Sankey para visualizar la estructura y niveles en un proyecto SSIS.

SSISDB_Dashboard_v1_00_Red-Sankey.PNG

Mientras desarrollaba este tablero, logré combinar y probar varias técnicas de PowerBI como;

Dax Measure para mostrar un diagrama de Gantt (basado en las calificaciones de estrellas de Chris Webb)
Convierta las rutas de paquetes en un diagrama de red y un diagrama de Sankey
Gráfico de dispersión para mostrar la matriz de horas y días
Mini línea de tiempo de Gantt con Matrix
Mini línea de tiempo de Gantt con gráfico de dispersión
Tablas Dax para datos de resumen
Función Vlookup para usar nombres de paquetes para proporcionar un tipo. Esto puede contener coincidencias y usar indicadores de inicio y fin.
M Tablas de idiomas para datos de referencia
SQL Parametrizado para Configurar los Días a Cargar
Desviación estándar para tolerancias.

Marcadores y selecciones

Información sobre herramientas de informe

Traté de mantener las imágenes personalizadas al mínimo, pero usé Sankey/Network Navigator, así como OKViz Bullet y Sparklines.

El PowerBI está en blanco y necesita la configuración del parámetro del servidor para su servidor de base de datos SSIS antes de aplicar los cambios y otorgar permisos.

La red y las filas siguientes pueden tardar un poco en cargarse con una base de datos de catálogo grande, por lo que tengo una versión pequeña que las excluye.

Las plantillas y las capturas de pantalla de muestra están disponibles aquí https://github.com/stretcharm/SSIS-DB-Dashboard

Notas de lanzamiento

v1.00

Consulta mejorada sobre Ejecuciones y Ejecutables

Se agregaron campos de inclusión para los tipos de paquete para configurar el filtrado de la página maestra y del paquete.
Edite PackageTypesUse Query para configurar.

Filtros de paquetes modificados

Agregar fecha, inicio, jerarquía de ID de ejecución a las páginas principal y de paquete

Se agregó el marcador Conservar capas para ayudar a evitar que la ventana pase al frente

Quitar el código del servidor de tareas opcional
Agregue la cinta de iconos y la página de ayuda.
Correcciones menores

Gracias a los proveedores de las siguientes páginas que he usado para ayudar en la creación de este tablero.

https://blogs.msdn.microsoft.com/sql_pfe_blog/2017/04/18/ssisdb-reporting-with-power-bi/
chris schmidt

https://www.excelguru.ca/blog/2015/01/28/creating-a-vlookup-function-in-power-query/
@KenPuls

Calificaciones de estrellas Medida rápida
http://community.powerbi.com/t5/Quick-Measures-Gallery/Star-Ratings/mp/166903#M12

@cwebb

https://ssisreportingpack.codeplex.com/
jamie thomson

Mucha ayuda de Dax y excelentes visualizaciones OK Vis PowerBI
http://www.sqlbi.com/

Base de datos del catálogo de SSIS
https://docs.microsoft.com/en-us/sql/integration-services/service/ssis-catalog

Artículo de Reza Rad en el catálogo de SSIS
http://www.rad.pasfu.com/index.php?/archives/75-SSIS-Catalog-Part-3-Folder-Hierarchy;-Folder,-Projec…
Diagrama de base de datos
http://www.rad.pasfu.com/ssis/ssiscatalogpart3/5.png

Códigos de error SSIS
https://docs.microsoft.com/en-us/sql/integration-services/integration-services-error-and-message-ref…

Disfrutar

phil

Sigueme en Twitter https://twitter.com/StretchArm1 para actualizaciones

Otras entradas de la galería

Vídeos de YouTube relacionados con PowerBI/SQL Server y Microsoft Business Application
https://community.powerbi.com/t5/Data-Stories-Gallery/PowerBI-SQL-Server-and-Microsoft-Business-Appl…)

Sesiones de sábado de SQL https://community.powerbi.com/t5/Data-Stories-Gallery/Pass-SQLSaturday-Dashboard/mp/489529#M2153

Vídeos de Microsoft Bus App Summit y SQL Bits

https://community.powerbi.com/t5/Data-Stories-Gallery/Search-Microsoft-based-Business-Application-vi…

y visualización personalizada de PowerBI

https://community.powerbi.com/t5/Data-Stories-Gallery/PowerBI-Custom-Visuals/td-p/724185

La mayoría del código también está aquí https://github.com/stretcharm

MednaxKevin

¿Hay alguna forma de fusionar varios servidores SSIS en un único panel? Tenemos bastantes servidores SSIS y tener un tablero para cada uno parece un poco «demasiado».

brazo extensible

En respuesta a MednaxKevin


@MednaxKevin escribió:

¿Hay alguna forma de fusionar varios servidores SSIS en un único panel? Tenemos bastantes servidores SSIS y tener un tablero para cada uno parece un poco «demasiado».


Corro en diferentes entornos y prefiero tener diferentes tableros. Principalmente por motivos de rendimiento y claridad.

El tablero podría modificarse para combinar varios servidores.

Si pudiera tomar el código de github y duplicar las consultas de origen y fusionar los resultados.

agregue algunos parámetros más para los otros servidores

Siga este proceso para cada consulta

Consulta duplicada 1, por ejemplo, paquetes a PackagesServer1 a PackagesServerX

Cambie los parámetros al servidor correcto

en una consulta, use Agregar consultas como nuevas para crear AllPackageServers e incluir cada una de las consultas de PackagesServer

Obtenga el código (editor avanzado) de AllPackageServers y péguelo sobre el código de consulta de paquetes original

Puede descartar AllPackageServers y desmarcar habilitar la carga para cada una de las Consultas de PackageServer (a menos que necesite depurar sus resultados)

Powerbi ahora usará los resultados combinados en lugar de la versión de servidor único

El mayor problema que tendrás será con cualquier duplicados de los diferentes servidores. Cualquier clave basada en números, como PackageID y ExecutionID, podría duplicarse. Es posible que deba agregar un prefijo de servidor a cualquier cosa que tenga un problema.

Definitivamente agregaría un código de servidor al Proyecto o Nombre de la carpeta para que pueda ver el servidor de origen

La otra opción sería usar SSIS para recopilar todos los datos en un conjunto de tablas (basadas en las consultas actuales) y luego actualizar las consultas del tablero para usarlas. Puede controlar y administrar problemas como claves duplicadas a medida que carga los datos. Esto definitivamente daría un mejor rendimiento, pero tendría que actualizar las tablas antes del tablero.


hariannem93

Hola @stretcharm

¿Puede compartir el código SQL para ejecuciones, ejecuciones fallidas, pasos del paquete y códigos de error?


@stretcharm escribió:

Hola,

No se trata tanto de una historia de datos como de una plantilla para un panel de control para observar su propia actividad de SSIS.

Utilizo mucho SSIS en mi trabajo y, a lo largo de los años, he utilizado varias herramientas para ayudarme a administrar los paquetes y clasificar los problemas.
Estos incluyen mis propios registros de SSIS, los informes de SSMS listos para usar, el paquete de informes de Jamie Thompson y varias consultas del catálogo de SSIS.

Tenía un Panel PowerBI de SSIS de consulta única bastante bueno, pero era lento en catálogos grandes y limitado en su uso.

Empecé a trabajar en un nuevo panel que proporcionaba todas las funciones de todas mis herramientas anteriores y en el momento en que vi una publicación de Chris Schmidt (enlace a continuación) y decidí usar esto como punto de partida.

Mi tablero aún no está terminado, pero después de muchas iteraciones, creo que será útil para otros que necesitan monitorear y comprender lo que están haciendo sus paquetes SSIS.

Publiqué esto por primera vez en 2017 y acabo de revisarlo para que sea compatible con algunas de las nuevas características que ahora son compatibles con las versiones del servidor de informes y escritorio de agosto de 2018. Pruébelo y avíseme si detecta algún problema o algo que podría mejorarse.

Traigo y resumo los datos en una variedad de niveles

SSISDB_Dashboard_v1_03_Summary-Summary2.PNG

Ejecución (ejecución y resumen de ejecución) El paquete que se ejecuta primero, al que he denominado RootPackageName. Esto incluye el Proyecto y la Carpeta
Paquete (Estadísticas del paquete ejecutable) Resumen del paquete. Agrupo los Paquetes por Tipos, por ejemplo, Maestro/Dimensión/Hecho/Etapa/PostProceso. Puede personalizarlos en la tabla PackageTypes. Haga clic en Editor avanzado para cambiarlo.
Elementos ejecutables (estadísticas ejecutables) dentro del paquete, por ejemplo, tareas/flujos de datos/secuencia. También llamo a este nivel Pasos del Paquete
Clasifico paquetes y tareas en tipos mediante una búsqueda de palabras clave. p. ej., Paquete que inicia Fact para cargar tablas de Fact.

Los nombres de tipo de tarea se basan en convenciones de nomenclatura SSIS comunes.

Este tablero también proporciona detalles de cualquier error de paquete y los asigna a los nombres de referencia de errores de IS de Microsoft.

Las ejecuciones individuales se pueden ver como un diagrama de Gantt basado en texto o como una matriz de ejecuciones por intervalos de tiempo.

SSISDB_Dashboard_v1_00_Summary-ExecutionList.PNGSSISDB_Dashboard_v1_00_Ejecución-Gantt.PNGSSISDB_Dashboard_v1_00_Execution-ExecutionSummary.PNGSSISDB_Dashboard_v1_00_OverTime-StepsOverTime.PNG

Finalmente extraje la Jerarquía de las rutas de ejecución para hacer un diagrama de Red y Sankey para visualizar la estructura y niveles en un proyecto SSIS.

SSISDB_Dashboard_v1_00_Red-Sankey.PNG

Mientras desarrollaba este tablero, logré combinar y probar varias técnicas de PowerBI como;

Dax Measure para mostrar un diagrama de Gantt (basado en las calificaciones de estrellas de Chris Webb)
Convierta las rutas de paquetes en un diagrama de red y un diagrama de Sankey
Gráfico de dispersión para mostrar la matriz de horas y días
Mini línea de tiempo de Gantt con Matrix
Mini línea de tiempo de Gantt con gráfico de dispersión
Tablas Dax para datos de resumen
Función Vlookup para usar nombres de paquetes para proporcionar un tipo. Esto puede contener coincidencias y usar indicadores de inicio y fin.
M Tablas de idiomas para datos de referencia
SQL Parametrizado para Configurar los Días a Cargar
Desviación estándar para tolerancias.

Marcadores y selecciones

Información sobre herramientas de informe

Traté de mantener las imágenes personalizadas al mínimo, pero usé Sankey/Network Navigator, así como OKViz Bullet y Sparklines.

El PowerBI está en blanco y necesita la configuración del parámetro del servidor para su servidor de base de datos SSIS antes de aplicar los cambios y otorgar permisos.

La red y las filas siguientes pueden tardar un poco en cargarse con una base de datos de catálogo grande, por lo que tengo una versión pequeña que las excluye.

Las plantillas y las capturas de pantalla de muestra están disponibles aquí https://github.com/stretcharm/SSIS-DB-Dashboard

Notas de lanzamiento

v1.00

Consulta mejorada sobre Ejecuciones y Ejecutables

Se agregaron campos de inclusión para los tipos de paquete para configurar el filtrado de la página maestra y del paquete.
Edite PackageTypesUse Query para configurar.

Filtros de paquetes modificados

Agregar fecha, inicio, jerarquía de ID de ejecución a las páginas principal y de paquete

Se agregó el marcador Conservar capas para ayudar a evitar que la ventana pase al frente

Quitar el código del servidor de tareas opcional
Agregue la cinta de iconos y la página de ayuda.
Correcciones menores

Gracias a los proveedores de las siguientes páginas que he usado para ayudar en la creación de este tablero.

https://blogs.msdn.microsoft.com/sql_pfe_blog/2017/04/18/ssisdb-reporting-with-power-bi/
chris schmidt

https://www.excelguru.ca/blog/2015/01/28/creating-a-vlookup-function-in-power-query/
@KenPuls

Calificaciones de estrellas Medida rápida
http://community.powerbi.com/t5/Quick-Measures-Gallery/Star-Ratings/mp/166903#M12

@cwebb

https://ssisreportingpack.codeplex.com/
jamie thomson

Mucha ayuda de Dax y excelentes visualizaciones OK Vis PowerBI
http://www.sqlbi.com/

Base de datos del catálogo de SSIS
https://docs.microsoft.com/en-us/sql/integration-services/service/ssis-catalog

Artículo de Reza Rad en el catálogo de SSIS
http://www.rad.pasfu.com/index.php?/archives/75-SSIS-Catalog-Part-3-Folder-Hierarchy;-Folder,-Projec…
Diagrama de base de datos
http://www.rad.pasfu.com/ssis/ssiscatalogpart3/5.png

Códigos de error SSIS
https://docs.microsoft.com/en-us/sql/integration-services/integration-services-error-and-message-ref…

Disfrutar

phil



@stretcharm escribió:

Hola,

No se trata tanto de una historia de datos como de una plantilla para un panel de control para observar su propia actividad de SSIS.

Utilizo mucho SSIS en mi trabajo y, a lo largo de los años, he utilizado varias herramientas para ayudarme a administrar los paquetes y clasificar los problemas.
Estos incluyen mis propios registros de SSIS, los informes de SSMS listos para usar, el paquete de informes de Jamie Thompson y varias consultas del catálogo de SSIS.

Tenía un Panel PowerBI de SSIS de consulta única bastante bueno, pero era lento en catálogos grandes y limitado en su uso.

Empecé a trabajar en un nuevo panel que proporcionaba todas las funciones de todas mis herramientas anteriores y en el momento en que vi una publicación de Chris Schmidt (enlace a continuación) y decidí usar esto como punto de partida.

Mi tablero aún no está terminado, pero después de muchas iteraciones, creo que será útil para otros que necesitan monitorear y comprender lo que están haciendo sus paquetes SSIS.

Publiqué esto por primera vez en 2017 y acabo de revisarlo para que sea compatible con algunas de las nuevas características que ahora son compatibles con las versiones del servidor de informes y escritorio de agosto de 2018. Pruébelo y avíseme si detecta algún problema o algo que podría mejorarse.

Traigo y resumo los datos en una variedad de niveles

SSISDB_Dashboard_v1_03_Summary-Summary2.PNG

Ejecución (ejecución y resumen de ejecución) El paquete que se ejecuta primero, al que he denominado RootPackageName. Esto incluye el Proyecto y la Carpeta
Paquete (Estadísticas del paquete ejecutable) Resumen del paquete. Agrupo los Paquetes por Tipos, por ejemplo, Maestro/Dimensión/Hecho/Etapa/PostProceso. Puede personalizarlos en la tabla PackageTypes. Haga clic en Editor avanzado para cambiarlo.
Elementos ejecutables (estadísticas ejecutables) dentro del paquete, por ejemplo, tareas/flujos de datos/secuencia. También llamo a este nivel Pasos del Paquete
Clasifico paquetes y tareas en tipos mediante una búsqueda de palabras clave. p. ej., Paquete que inicia Fact para cargar tablas de Fact.

Los nombres de tipo de tarea se basan en convenciones de nomenclatura SSIS comunes.

Este tablero también proporciona detalles de cualquier error de paquete y los asigna a los nombres de referencia de errores de IS de Microsoft.

Las ejecuciones individuales se pueden ver como un diagrama de Gantt basado en texto o como una matriz de ejecuciones por intervalos de tiempo.

SSISDB_Dashboard_v1_00_Summary-ExecutionList.PNGSSISDB_Dashboard_v1_00_Ejecución-Gantt.PNGSSISDB_Dashboard_v1_00_Execution-ExecutionSummary.PNGSSISDB_Dashboard_v1_00_OverTime-StepsOverTime.PNG

Finalmente extraje la Jerarquía de las rutas de ejecución para hacer un diagrama de Red y Sankey para visualizar la estructura y niveles en un proyecto SSIS.

SSISDB_Dashboard_v1_00_Red-Sankey.PNG

Mientras desarrollaba este tablero, logré combinar y probar varias técnicas de PowerBI como;

Dax Measure para mostrar un diagrama de Gantt (basado en las calificaciones de estrellas de Chris Webb)
Convierta las rutas de paquetes en un diagrama de red y un diagrama de Sankey
Gráfico de dispersión para mostrar la matriz de horas y días
Mini línea de tiempo de Gantt con Matrix
Mini línea de tiempo de Gantt con gráfico de dispersión
Tablas Dax para datos de resumen
Función Vlookup para usar nombres de paquetes para proporcionar un tipo. Esto puede contener coincidencias y usar indicadores de inicio y fin.
M Tablas de idiomas para datos de referencia
SQL Parametrizado para Configurar los Días a Cargar
Desviación estándar para tolerancias.

Marcadores y selecciones

Información sobre herramientas de informe

Traté de mantener las imágenes personalizadas al mínimo, pero usé Sankey/Network Navigator, así como OKViz Bullet y Sparklines.

El PowerBI está en blanco y necesita la configuración del parámetro del servidor para su servidor de base de datos SSIS antes de aplicar los cambios y otorgar permisos.

La red y las filas siguientes pueden tardar un poco en cargarse con una base de datos de catálogo grande, por lo que tengo una versión pequeña que las excluye.

Las plantillas y las capturas de pantalla de muestra están disponibles aquí https://github.com/stretcharm/SSIS-DB-Dashboard

Notas de lanzamiento

v1.00

Consulta mejorada sobre Ejecuciones y Ejecutables

Se agregaron campos de inclusión para los tipos de paquete para configurar el filtrado de la página maestra y del paquete.
Edite PackageTypesUse Query para configurar.

Filtros de paquetes modificados

Agregar fecha, inicio, jerarquía de ID de ejecución a las páginas principal y de paquete

Se agregó el marcador Conservar capas para ayudar a evitar que la ventana pase al frente

Quitar el código del servidor de tareas opcional
Agregue la cinta de iconos y la página de ayuda.
Correcciones menores

Gracias a los proveedores de las siguientes páginas que he usado para ayudar en la creación de este tablero.

https://blogs.msdn.microsoft.com/sql_pfe_blog/2017/04/18/ssisdb-reporting-with-power-bi/
chris schmidt

https://www.excelguru.ca/blog/2015/01/28/creating-a-vlookup-function-in-power-query/
@KenPuls

Calificaciones de estrellas Medida rápida
http://community.powerbi.com/t5/Quick-Measures-Gallery/Star-Ratings/mp/166903#M12

@cwebb

https://ssisreportingpack.codeplex.com/
jamie thomson

Mucha ayuda de Dax y excelentes visualizaciones OK Vis PowerBI
http://www.sqlbi.com/

Base de datos del catálogo de SSIS
https://docs.microsoft.com/en-us/sql/integration-services/service/ssis-catalog

Artículo de Reza Rad en el catálogo de SSIS
http://www.rad.pasfu.com/index.php?/archives/75-SSIS-Catalog-Part-3-Folder-Hierarchy;-Folder,-Projec…
Diagrama de base de datos
http://www.rad.pasfu.com/ssis/ssiscatalogpart3/5.png

Códigos de error SSIS
https://docs.microsoft.com/en-us/sql/integration-services/integration-services-error-and-message-ref…

Disfrutar

phil


brazo extensible

Gran versión nueva, así que actualicé las pantallas y volví a hacer una descripción completa.

Utilizo mucho SSIS en mi trabajo y, a lo largo de los años, he utilizado varias herramientas para ayudarme a administrar los paquetes y clasificar los problemas.
Estos incluyen mis propios registros de SSIS, los informes de SSMS listos para usar, el paquete de informes de Jamie Thompson y varias consultas del catálogo de SSIS.

Tenía un Panel PowerBI de SSIS de consulta única bastante bueno, pero era lento en catálogos grandes y limitado en su uso.

Empecé a trabajar en un nuevo panel que proporcionaba todas las funciones de todas mis herramientas anteriores y en el momento en que vi una publicación de Chris Schmidt (enlace a continuación) y decidí usar esto como punto de partida.

Mi tablero aún no está terminado, pero después de muchas iteraciones, creo que será útil para otros que necesitan monitorear y comprender lo que están haciendo sus paquetes SSIS.

Publiqué esto por primera vez en 2017 y acabo de revisarlo para que sea compatible con algunas de las nuevas características que ahora son compatibles con las versiones del servidor de informes y escritorio de agosto de 2018. Pruébelo y avíseme si detecta algún problema o algo que podría mejorarse.

Traigo y resumo los datos en una variedad de niveles
SSISDB_Dashboard_v1_00_Summary-Summary2.PNG
Ejecución (ejecución y resumen de ejecución) El paquete que se ejecuta primero, al que he denominado RootPackageName. Esto incluye el Proyecto y la Carpeta
Paquete (Estadísticas del paquete ejecutable) Resumen del paquete. Agrupo los Paquetes por Tipos, por ejemplo, Maestro/Dimensión/Hecho/Etapa/PostProceso. Puede personalizarlos en la tabla PackageTypes. Haga clic en Editor avanzado para cambiarlo.
Elementos ejecutables (estadísticas ejecutables) dentro del paquete, por ejemplo, tareas/flujos de datos/secuencia. También llamo a este nivel Pasos del Paquete
Clasifico paquetes y tareas en tipos mediante una búsqueda de palabras clave. p. ej., Paquete que inicia Fact para cargar tablas de Fact.

Los nombres de tipo de tarea se basan en convenciones de nomenclatura SSIS comunes.

Este tablero también proporciona detalles de cualquier error de paquete y los asigna a los nombres de referencia de errores de IS de Microsoft.

Las ejecuciones individuales se pueden ver como un diagrama de Gantt basado en texto o como una matriz de ejecuciones por intervalos de tiempo.

SSISDB_Dashboard_v1_00_Summary-ExecutionList.PNGSSISDB_Dashboard_v1_00_Ejecución-Gantt.PNGSSISDB_Dashboard_v1_00_Execution-ExecutionSummary.PNGSSISDB_Dashboard_v1_00_OverTime-StepsOverTime.PNG

Finalmente extraje la Jerarquía de las rutas de ejecución para hacer un diagrama de Red y Sankey para visualizar la estructura y niveles en un proyecto SSIS.

SSISDB_Dashboard_v1_00_Red-Sankey.PNG

Mientras desarrollaba este tablero, logré combinar y probar varias técnicas de PowerBI como;

Dax Measure para mostrar un diagrama de Gantt (basado en las calificaciones de estrellas de Chris Webb)
Convierta las rutas de paquetes en un diagrama de red y un diagrama de Sankey
Gráfico de dispersión para mostrar la matriz de horas y días
Mini línea de tiempo de Gantt con Matrix
Mini línea de tiempo de Gantt con gráfico de dispersión
Tablas Dax para datos de resumen
Función Vlookup para usar nombres de paquetes para proporcionar un tipo. Esto puede contener coincidencias y usar indicadores de inicio y fin.
M Tablas de idiomas para datos de referencia
SQL Parametrizado para Configurar los Días a Cargar
Desviación estándar para tolerancias.

Marcadores y selecciones

Información sobre herramientas de informe

Traté de mantener las imágenes personalizadas al mínimo, pero usé Sankey/Network Navigator, así como OKViz Bullet y Sparklines.

El PowerBI está en blanco y necesita la configuración del parámetro del servidor para su servidor de base de datos SSIS antes de aplicar los cambios y otorgar permisos.

Las plantillas y las capturas de pantalla de muestra son disponible aquí https://github.com/stretcharm/SSIS-DB-Dashboard

Notas de lanzamiento

v1.00
Nuevo diseño con pantallas de filtro y ayuda y conmutadores de visualización
Formato condicional en la lista de ejecución
Agregar paso de ejecución Gantt y parámetros de proyecto/paquete
Informar información sobre herramientas en Gantt
Corregir la duración si el paquete se llama dos veces en una ejecución
Agregar opción para diferentes trabajos de servidor para SQL
Agregar búsqueda de tipo de tarea según la convención de nomenclatura
Agregar soporte para ^(inicio) y $(fin) en las búsquedas de nombre de paquete y tipo de tarea

Gracias a los proveedores de las siguientes páginas que he usado para ayudar en la creación de este tablero.

https://blogs.msdn.microsoft.com/sql_pfe_blog/2017/04/18/ssisdb-reporting-with-power-bi/
chris schmidt

https://www.excelguru.ca/blog/2015/01/28/creating-a-vlookup-function-in-power-query/
@KenPuls

Calificaciones de estrellas Medida rápida
http://community.powerbi.com/t5/Quick-Measures-Gallery/Star-Ratings/mp/166903#M12

@cwebb

https://ssisreportingpack.codeplex.com/
jamie thomson

Mucha ayuda de Dax y excelentes visualizaciones OK Vis PowerBI
http://www.sqlbi.com/

Base de datos del catálogo de SSIS
https://docs.microsoft.com/en-us/sql/integration-services/service/ssis-catalog

Artículo de Reza Rad en el catálogo de SSIS
http://www.rad.pasfu.com/index.php?/archives/75-SSIS-Catalog-Part-3-Folder-Hierarchy;-Folder,-Projec…
Diagrama de base de datos
http://www.rad.pasfu.com/ssis/ssiscatalogpart3/5.png

Códigos de error SSIS
https://docs.microsoft.com/en-us/sql/integration-services/integration-services-error-and-message-ref…

Disfrutar

phil

Anónimo

En respuesta a brazo extensible

¿Hay algún truco para que el conjunto de datos se actualice de forma programada cuando el informe se publica en PowerBI?

Recibo un error que indica que el conjunto de datos tiene una o más fuentes que no admiten la actualización. Al hacer clic en descubrir fuentes de datos, aparece la respuesta «La consulta contiene fuentes de datos desconocidas o no admitidas».

Aunque me encanta el reportaje. Solo quiero poder compartirlo con todo el equipo en el sitio principal para ver los diagnósticos en nuestros diversos servidores.

Gracias,

phil

brazo extensible

En respuesta a Anónimo

Para que el servicio powerbi funcione, deberá usar Gateway para conectarse a sus servidores (a menos que estén en azure)

https://powerbi.microsoft.com/en-us/gateway/

Necesitará licencias profesionales para compartir y usar la puerta de enlace.

Comparto el informe a través del equipo en las instalaciones mediante el servidor de informes de PowerbI (SSRS + PowerBI) que se puede agregar a los servidores SQL existentes que tiene para la empresa y el mantenimiento. Solo necesita una licencia powerbi pro para cargar informes.

https://powerbi.microsoft.com/en-us/report-server/

Ambos te permitirían establecer un horario.

Anónimo

En respuesta a brazo extensible

Tengo puertas de enlace empresariales y las acabo de actualizar a la versión de septiembre de 2018.

  1. ¿Es posible que no todos los datos provengan de SSISDB?
    • Por lo general, el error me dice más detalles sobre a qué base de datos no tiene acceso.
  2. ¿Lo publicó en el área de trabajo de la aplicación o lo guardó en OneDrive para empresas?

También traté de actualizar los parámetros y obtuve el error Error al actualizar los valores de los parámetros. Los detalles técnicos son un montón de guías y un código de estado de 404.

brazo extensible

En respuesta a Anónimo

Algunos datos provienen de msdb para los trabajos de SQL

Si no necesita un trabajo SQL, reemplace la consulta «Trabajos SQL actualmente en ejecución» con un conjunto de registros ficticio.

He tenido algunos problemas con esta consulta desde que cambié el parámetro del servidor y traté de manejarlo como un conjunto de datos opcional.

let
    BlankTable = #table(
 type table
    [
        #"JobName"=text,
        #"StartExecutionDate"=date,
        #"RuNRequestedDate"=date
    ], 
{{"Job data not available","",""}})
in
    BlankTable

Si tiene acceso al servidor, puede usar esta consulta

let

SQLCmd="

SET NOCOUNT ON;
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

SELECT sj.name as JobName, sja.start_execution_date StartExecutionDate 

, sja.run_requested_date RuNRequestedDate
FROM msdb.dbo.sysjobs sj
JOIN msdb.dbo.sysjobactivity sja
ON sj.job_id = sja.job_id
WHERE 1=1
AND session_id = (
    SELECT MAX(session_id) FROM msdb.dbo.sysjobactivity WHERE    sj.job_id = sja.job_id )
AND sja.start_execution_date IS NOT NULL AND sja.stop_execution_date IS NULL

",
    
    SQLJobs = Sql.Database(JobServerName, "msdb", [Query=SQLCmd]) 
in
    SQLJobs

No uso el servicio PowerBI ya que no tenemos una puerta de enlace para conectarnos a nuestros servidores.

aurelio

En respuesta a brazo extensible

Hola, ante todo muchas gracias por este gran trabajo.

Tenía muchas ganas de usarlo, pero me enfrento a un problema relacionado con la ID de ejecución.

Tengo en la tabla de paquetes del catálogo muchos version_build y project_id para el mismo nombre de paquete. Por lo tanto, la consulta «Ejecución» devolverá ExecutionID duplicados y esto evitará que las otras consultas se ejecuten correctamente, dejando el tablero vacío.

La columna ‘ExecutionID’ en la tabla ‘Ejecución’ contiene un valor duplicado ‘41997’ y esto no está permitido para columnas en un lado de una relación de muchos a uno o para columnas que se usan como clave principal de una tabla.

Luego, en otras tablas que tengo: la carga se canceló por un error al cargar una tabla anterior.

¿Alguna forma de mejorar el modelo de datos para admitir múltiples versiones/proyectos para un paquete?

brazo extensible

En respuesta a aurelio

No he visto este problema en mi entorno.

Sospecho que es la unión para obtener la identificación del proyecto de la ejecución.

¿Puede intentar cambiar FROM en la parte SQLCMD de la consulta de ejecución? Utilice el editor avanzado para actualizar.

Estas uniones pueden funcionar, ¿puede verificar que project_lsn sea el mismo que object_version_lsn en su entorno?

FROM    [catalog].[executions] ex
        JOIN catalog.projects pr ON ex.project_lsn = pr.object_version_lsn
                                    AND ex.[project_name] = pr.name
        JOIN catalog.folders f ON pr.folder_id = f.folder_id	

Si esto no funciona, esto debería garantizar que solo haya una combinación de paquete/proyecto coincidente

FROM    [catalog].[executions] ex
        OUTER APPLY (Select Top 1 pk.project_id FROM [catalog].[packages] pk 
		WHERE pk.name = ex.package_name
		ORDER BY Package_id DESC) p 
        JOIN catalog.projects pr ON p.project_id = pr.project_id
                                    AND ex.[project_name] = pr.name
        JOIN catalog.folders f ON pr.folder_id = f.folder_id	

Avíseme si esto funciona y actualizaré el código en la próxima versión.

aurelio

En respuesta a brazo extensible

Hola.

El primer script no funcionó porque estaba filtrando demasiados datos.

Así que usé el segundo.

Mismo problema encontrado en la consulta ejecutable. Aquí está la solución que apliqué:

catalog.executables AS exb
			OUTER APPLY (Select Top 1 pk.project_id FROM [catalog].[packages] pk 
				WHERE pk.name = exb.package_name
				ORDER BY Package_id DESC) p 
            INNER JOIN catalog.packages AS pk ON pk.name = exb.package_name and p.project_id = pk.project_id
            INNER JOIN [catalog].executions ex ON ex.execution_id = exb.execution_id
            INNER JOIN catalog.projects pr ON pr.name = ex.project_name
                                              AND pr.project_id = pk.project_id

Todo está funcionando ahora. ¡Gracias!

brazo extensible

En respuesta a aurelio

Excelente material, me alegro de que haya funcionado. Actualizaré la siguiente versión.

Anónimo

En respuesta a brazo extensible

Cosas realmente buenas: este proyecto me ahorró una TONELADA de tiempo. Espero poder contribuir para futuros lanzamientos.

También recibí un error duplicado en la tabla de ejecuciones: aquí estaba mi solución basada en esta documentación de esa tabla

https://docs.microsoft.com/en-us/sql/integration-services/system-views/catalog-executions-ssisdb-dat…

DESDE [catalog].[executions] ex
ENTRAR [catalog].[packages] p ON p.name = ex.package_name y caso cuando ex.object_type = 20 entonces p.project_id else p.package_id end = ex.[object_id]
ÚNETE catalog.projects pr ON p.project_id = pr.project_id
Y ej.[project_name] = pr.nombre
UNIRSE catalog.folders f ON pr.folder_id = f.folder_id

El problema fue causado por varios usuarios que implementaron el proyecto, lo que creó un ID de proyecto diferente para ese usuario para el mismo proyecto. Microsoft de diseño realmente malo… use un campo «actualizado por» para una identificación de proyecto consistente, en lugar de crear un nuevo proyecto. registro de identificación.

Anónimo

En respuesta a Anónimo

Y también tuve que cambiar la tabla de Ejecutables a esto (el otro cambio fue en la tabla de Ejecuciones en sí) – Imagino que esto sería imposible de solucionar si no tuviera varias personas implementando el mismo proyecto en SSISDB. Esto está en SQL Server 2014: implementación de solo proyecto … tal vez solucionado en 2016.

FYI: creo que el 1 superior en la aplicación externa filtrará el historial, ya que el historial de ejecución está vinculado a este nuevo registro de ID de proyecto / ID de paquete que se está creando.

DESDE catalog.executables COMO exb

UNIR INTERNAMENTE [catalog].ejecuciones ex ON ex.execution_id = exb.execution_id

INNER JOIN catalog.packages AS pk ON pk.name = ex.package_name y case when ex.object_type = 20 luego pk.project_id else pk.package_id end = ex.[object_id]

INNER JOIN catalog.projects pr ON pr.name = ex.project_name

Y pr.project_id = pk.project_id

brazo extensible

En respuesta a Anónimo

Gracias por esto.

Todavía recibo algunos duplicados ya que tengo varios proyectos que tienen el mismo paquete. Estoy trabajando en una actualización que, con suerte, minimizará el problema. De lo contrario, es posible que deba cambiar el modelo para admitir estos detalles.

brazo extensible

En respuesta a brazo extensible

V1.03

Consulta mejorada sobre Ejecuciones y Ejecutables

Se agregaron campos de inclusión para los tipos de paquete para configurar el filtrado de la página maestra y del paquete.
Edite PackageTypesUse Query para configurar.

Filtros de paquetes modificados

Agregar fecha, inicio, jerarquía de ID de ejecución a las páginas principal y de paquete

Se agregó el marcador Conservar capas para ayudar a evitar que la ventana pase al frente

Quitar el código del servidor de tareas opcional
Agregue la cinta de iconos y la página de ayuda.
Correcciones menores

SSISDB_Dashboard_v1_03_Summary-Summary2.PNG

jdrazkowski

Este ha sido un tablero muy útil. ¿Cómo interpretaría el gráfico de dispersión en la página ‘Ejecución de Gantt’ con StartOrderRev en el eje Y y Step Order End en el eje X?

dooncomputadora

En respuesta a jdrazkowski

¿Sería bueno tener la opción de ingresar un nombre de servidor diferente para MSDB y SSISDB?

brazo extensible

En respuesta a dooncomputadora

La base de datos y el servidor son parámetros, por lo que puede establecerlos en cualquier cosa, sin embargo, actualmente son el mismo servidor.

Puede ajustar su versión para agregarse un nuevo parámetro de servidor para su consulta de msdb en el editor de consultas.

Agregaré MSDB y Job Server como nuevos parámetros en la próxima versión. También agregaré una opción para deshabilitar esto, ya que no siempre tengo acceso a los detalles del trabajo.

SSISDB_Parámetros del tablero.PNG

dooncomputadora

En respuesta a jdrazkowski

¿Sería bueno tener la opción de ingresar un nombre de servidor diferente para MSDB y SSISDB?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *