SQL Server Integration Services ( SSIS ) es un componente del software de base de datos de Microsoft SQL Server que se puede utilizar para realizar una amplia gama de tareas de migración de datos .
Desarrollador (es) | Microsoft |
---|---|
Sistema operativo | Microsoft Windows |
Tipo | Herramientas ETL |
Licencia | Software comercial patentado |
Sitio web | technet |
SSIS es una plataforma para aplicaciones de flujo de trabajo e integración de datos . Cuenta con una herramienta de almacenamiento de datos que se utiliza para la extracción, transformación y carga de datos (ETL) . La herramienta también se puede utilizar para automatizar el mantenimiento de las bases de datos de SQL Server y las actualizaciones de datos de cubos multidimensionales .
Lanzado por primera vez con Microsoft SQL Server 2005, SSIS reemplazó a los Servicios de transformación de datos , que había sido una característica de SQL Server desde la versión 7.0. A diferencia de DTS, que se incluyó en todas las versiones, SSIS solo está disponible en las ediciones "Standard", "Business Intelligence" y "Enterprise". [1] Con Microsoft "Visual Studio Dev Essentials" ahora es posible usar SSIS con Visual Studio 2017 sin costo, siempre que sea solo con fines de desarrollo y aprendizaje.
Características
El Asistente de importación / exportación de SSIS permite al usuario crear paquetes que mueven datos desde una única fuente de datos a un destino sin transformaciones. El asistente puede mover datos rápidamente desde una variedad de tipos de fuente a una variedad de tipos de destino, incluidos archivos de texto y otras instancias de SQL Server.
Los desarrolladores encargados de crear o mantener paquetes SSIS utilizan una herramienta de desarrollo visual basada en Microsoft Visual Studio llamada SQL Server Business Intelligence Development Studio (BIDS). Permite a los usuarios editar paquetes SSIS mediante una interfaz de usuario de arrastrar y soltar. También se encuentra disponible en la herramienta un entorno de secuencias de comandos para escribir código de programación. Un paquete contiene una variedad de elementos que definen un flujo de trabajo. Tras la ejecución del paquete, la herramienta proporciona un seguimiento en tiempo real codificado por colores. (Nota: En versiones más recientes de MS SQL Server, BIDS se ha reemplazado por "Herramientas de datos de SQL Server - Business Intelligence" (SSDT-BI). [2] [3] )
- Conexiones
- Una conexión incluye la información necesaria para conectarse a una fuente de datos en particular. Las tareas pueden hacer referencia a la conexión por su nombre, lo que permite cambiar o configurar los detalles de la conexión en tiempo de ejecución.
- Controladores de eventos
- Se puede diseñar un flujo de trabajo para una serie de eventos en los diferentes ámbitos en los que pueden ocurrir. De esta manera, las tareas se pueden ejecutar en respuesta a sucesos dentro del paquete, como la limpieza después de errores.
- Parámetros (SQL Server 2012 Integration Services)
- Los parámetros le permiten asignar valores a las propiedades dentro de los paquetes en el momento de la ejecución del paquete. Puede tener parámetros de proyecto y parámetros de paquete. En general, si está implementando un paquete utilizando el modelo de implementación de paquetes, debe usar configuraciones en lugar de parámetros.
- Restricciones de precedencia
- Las tareas están vinculadas por restricciones de precedencia. La restricción de precedencia que precede a una tarea en particular debe cumplirse antes de que esa tarea se ejecute. El tiempo de ejecución admite la ejecución de tareas en paralelo, si sus restricciones de precedencia lo permiten. De lo contrario, las restricciones pueden permitir diferentes rutas de ejecución según el éxito o el fracaso de otras tareas. Junto con las tareas, las restricciones de precedencia comprenden el flujo de trabajo del paquete.
- Tareas
- Una tarea es una unidad de trabajo atómica que realiza alguna acción. Hay un par de docenas de tareas incluidas en la caja, que van desde la tarea del sistema de archivos (que puede copiar o mover archivos) hasta la tarea de transformación de datos. La tarea de transformación de datos realmente copia datos; Implementa las características ETL del producto.
- Variables
- Las tareas pueden hacer referencia a variables para almacenar resultados, tomar decisiones o afectar su configuración.
Un paquete se puede guardar en un archivo o en una tienda con un espacio de nombres jerárquico dentro de una instancia de SQL Server. En cualquier caso, el contenido del paquete se conserva en XML .
Una vez completado, el diseñador también permite al usuario iniciar la ejecución del paquete. Una vez iniciado, el paquete se puede depurar o monitorear fácilmente.
Características de la tarea de flujo de datos
SSIS proporciona las siguientes transformaciones integradas: [4]
Agregación | Columna de exportación e importación | Pivote |
Auditoría | Para contenedor de bucle | Número de filas |
Transformación de caché [5] | Contenedor de bucle Foreach | Muestreo de filas |
Copiar / Mapa | ( Borroso ) Búsqueda | Componente de secuencia de comandos |
Conversión de datos | Agrupación difusa | Dimensión que cambia lentamente |
Capacitación en modelos de minería de datos | Comando OLE DB | Extracción de término |
Consulta de minería de datos | Procesamiento de particiones | Búsqueda de términos |
Columna derivada | Muestreo de porcentaje [6] | Quitar pivote |
Procesamiento de dimensiones | Transformación de muestreo de filas |
La transformación División condicional se utiliza para enrutar filas condicionalmente a otros objetos de transformación en función de una condición particular. Es similar a la if … else
construcción " " en el lenguaje C.
Otras herramientas incluidas
Aparte del Asistente de importación / exportación y el diseñador, el producto incluye algunas otras herramientas notables.
DTEXEC ejecuta un paquete desde la línea de comandos donde sea que esté almacenado. [7] [8] Antes de ejecutar el paquete, es posible que se le indique a la herramienta que aplique información de configuración, lo que permitirá reutilizar el mismo paquete con parámetros ligeramente diferentes, incluidas diferentes cadenas de conexión para sus puntos finales.
DTUTIL brinda la capacidad de administrar paquetes desde el símbolo del sistema . [9] [10] La herramienta puede copiar o mover un paquete de un archivo a la tienda del servidor, o volver a sacarlo. Entre algunas otras funciones diversas, se puede utilizar para eliminar, renombrar, cifrar o descifrar paquetes.
El programa de copia (BCP) a granel, es una herramienta de línea de comandos se utiliza para importar o exportar datos contra un Microsoft SQL Server , [11] o la base de datos Sybase . [12] [se necesita una mejor fuente ]
Extensibilidad y programabilidad
Los usuarios pueden escribir código para definir sus propios objetos de conexión, proveedores de registros, transformaciones y tareas. [13] [14]
SSIS presenta un modelo de objeto programable que permite a los desarrolladores escribir sus propios hosts para la ejecución de paquetes. Dicho host puede responder a eventos, iniciar y detener paquetes, etc. El modelo de objetos también permite a los desarrolladores crear, almacenar y cargar paquetes, así como crear, destruir y modificar cualquiera de los objetos contenidos.
Dentro de ciertos límites, los paquetes SSIS pueden cargar y llamar a las DLL de ensamblado de CLI , lo que brinda acceso a prácticamente cualquier tipo de operación permitida por .NET CLR .
SSIS se puede utilizar en todas las ediciones de SQL Server 2005 , 2008 , 2008 R2 , 2012 , 2014 y 2016 , excepto Express y Workgroup.
Ver también
- Servicios de transformación de datos
Referencias
- ^ "Funciones compatibles con las ediciones de SQL Server 2014" . msdn.microsoft.com . Red de desarrolladores de Microsoft . Consultado el 20 de agosto de 2014 .
- ^ http://sqlmag.com/sql-server-2014/q-where-business-intelligence-development-studio-bids-sql-server-2014
- ^ http://blogs.msdn.com/b/analysisservices/archive/2013/03/06/sql-server-data-tools-business-intelligence-for-visual-studio-2012-released-online.aspx
- ^ "Transformaciones de servicios de integración" . Red de desarrolladores de Microsoft . Microsoft . Consultado el 22 de marzo de 2013 .
- ^ "Transformación de caché" . Red de desarrolladores de Microsoft . Microsoft . Consultado el 22 de marzo de 2013 .
- ^ "Transformación de muestreo porcentual" . Red de desarrolladores de Microsoft . Microsoft . Consultado el 22 de marzo de 2013 .
- ^ "Utilidad dtexec (herramienta SSIS)" . Red de desarrolladores de Microsoft . Microsoft . Consultado el 24 de marzo de 2013 .
- ^ Marcin Policht (9 de agosto de 2010). "Ejecución de paquetes SSIS mediante DTExec" . Diario de base de datos . Consultado el 24 de marzo de 2013 .
- ^ "Utilidad dtutil (herramienta SSIS)" . Red de desarrolladores de Microsoft . Microsoft . Consultado el 24 de marzo de 2013 .
- ^ Yan Pan (20 de marzo de 2008). "Usando dtutil para copiar paquetes SSIS almacenados en SQL Server" . Diario de base de datos . Consultado el 24 de marzo de 2013 .
- ^ Rankins, Ray; Bertucci, Paul; Jennsen, Paul (diciembre de 2002). Microsoft SQL Server 2000 Unleashed (2 ed.). Indiana: Sams. págs. 86-87. ISBN 9780672324673. OCLC 474621100 .
- ^ "Capítulo 7: Referencia de comandos de utilidades". Adaptive Server Enterprise 15.5 . Sybase . Consultado el 14 de mayo de 2021 .
- ^ "Desarrollo de un componente de flujo de datos personalizado" . Red de desarrolladores de Microsoft . Microsoft . Consultado el 22 de marzo de 2013 .
- ^ "Desarrollo de una tarea personalizada" . Red de desarrolladores de Microsoft . Microsoft . Consultado el 22 de marzo de 2013 .
enlaces externos
- Sitio oficial de SQL Server Integration Services