18

Click here to load reader

M_dulo 06 Curso SQL server

  • Upload
    sun-tzu

  • View
    314

  • Download
    2

Embed Size (px)

Citation preview

Page 1: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

CURSO SQL SERVER 2000

Dictado por Horacio Peñafiel

Módulo 6: Uso de Data Transformation Services (DTS)

FAGDUT 1 CCI

Page 2: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

MÓDULO 6 – DATA TRANSFORMATION SERVICES Importar y exportar datos es una tarea común en la administración de SQL Server 2000. Luego de completar este módulo, estaremos en condiciones de:

• Entender cómo funciona DTS (Data Transformation Services). • Descubrir qué son los paquetes DTS y comprender de qué forma interactúan para

llevar a cabo tareas de movimiento y modificación de los datos de nuestra base de datos.

6.1 – INTRODUCCIÓN A LA IMPORTACIÓN Y EXPORTACIÓN DE DATOS SQL Server 2000 nos brinda un conjunto de herramientas para el manejo de datos. Estas herramientas tienen características propias para el manejo de datos tales como la generación de subconjuntos de datos y su transformación. Herramienta Descripción DTS DTS en una herramienta gráfica usada para importar, exportar y

transformar datos. DTS puede trabajar directamente sobre una gran variedad de orígenes de datos. DTS crea paquetes que pueden ser programados. DTS también puede importar y exportar objetos de nuestra base de datos entre instancias de SQL Server.

Bcp Bcp es una utilidad de línea de comandos usada para copiar datos desde un archivo de texto a una tabla SQL Server (o desde una tabla de SQL Server o vista a un archivo de texto) usando ODBC. Las capacidades de transformación de Bcp son limitadas y requiere archivos de formato crípticos.

BULK INSERT BULK INSERT es un comando Transact-SQL usado para copiar datos desde un archivo ASCII de texto a una tabla o vista SQL Server (pero no exportar los datos) usando OLE DB. La sentencia BULK INSERT proporciona la misma funcionalidad que Bcp (y también tiene sus limitaciones) en una sentencia SQL que puede ser embebida en un paquete DTS.

6.2 – DATA TRANSFORMATION SERVICES (DTS) DTS es un conjunto poderoso de herramientas gráficas (y objetos programables) que podemos usar para importar, exportar, y transformar datos desde y hacia una gran variedad de orígenes de datos y destinos. Los paquetes DTS Podemos crear un paquete DTS para conectar a un origen de datos, copiar y administrar datos y objetos de base de datos, ejecutar tareas como trabajos desde el paquete, transformar los datos, y luego guardar los datos transformados en objetos de base de datos en el mismo origen de datos y en un destino diferente. Podemos notificar a un usuario (o proceso) del éxito o fallo en un paquete, incluyendo el enviar un archivo a un mensaje de e-mail. Definiremos estas tareas en pasos discretos (conocidos como Tareas DTS) y controlaremos la ejecución de dichas tareas usando restricciones de precedencia (como realizar una cierta tarea si la tarea anterior falla). Podemos crear paquetes DTS con el Asistente para Importación/Exportación, el Diseñador DTS, o programaticamente. Conexiones DTS Un paquete DTS debe tener un origen válido de datos y un destino válido al cual se conecta. DTS puede conectar a origenes de datos adicionales durante la ejecución del paquete (como ser tablas de búsqueda ubicadas en una tercera conexión de datos). La siguiente tabla

FAGDUT 2 CCI

Page 3: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

describe la variedad de conexiones que podemos establecer durante el proceso de creación del paquete: Tipo de Conexión Descripción Conexión de Origen de datos

Una conexión a una base de datos estándar (como ser SQL Server 2000, Microsoft Access, Oracle, dBase, o Visual FoxPro), una conexión OLEDB a un origen ODBC, una planilla de cálculo Microsoft Excel, un origen HTML, o cualquier otro proveedor OLE DB. Las propiedades de un origen de datos especifican los parámetros de conexión necesarios.

Conexión de Archivo Una conexión a un archivo de texto (normalmente delimitado por comas). Las propiedades de una conexión de archivo especifican el formato del archivo de texto. Hay múltiples formatos que podemos usar. Por ejemplo, un archivo de texto puede estar delimitado por comas o tener un formato de campo fijo.

Conexión de Enlace de Datos

Una conexión a un archivo intermedio (.UDL) que guarda una cadena de conexión para crear una conexión OLE DB que se resuelve en tiempo de ejecución. La conexión de enlace de datos nos permite encapsular las propiedades de conexión en un archivo .UDL separado. Podemos editar la cadena de conexión en dicho archivo (de un origen de datos a otro) sin cambiar el paquete DTS.

Tareas DTS Un paquete DTS puede realizar una gran cantidad de tareas, ya sea secuencialmente o en paralelo. Las tareas en paralelo corren independientemente unas de otras (usando hilos de ejecución del sistema operativo separados para mejorar la performance), mientras que las tareas secuenciales se ejecutan en un orden definido basado en el éxito, fallo o completitud de las tareas predecesoras. Una tarea DTS es una unidad de trabajo discreta que es parte del movimiento y transformación de datos (como copiar los contenidos de un archivo de texto a una tabla de SQL Server). Las tareas DTS que transforma datos (como ser la Tarea de Transformar datos, o la Tarea de Consulta Controlada por Datos) están basadas en un componente de arquitectura llamado DTS data pump. El data pump de DTS es un proveedor de servicios OLE DB que proporciona interfases para importar, exportar, y transformar datos desde un origen de datos OLE DB hacia un destino OLE DB. SQL Server 2000 proporciona un número de tareas DTS que transforman datos, copian y administran datos y meta data, y funcionan como trabajos. Estas tareas son accedidas a través de la herramienta Diseñador de DTS (excepto la tarea Parallel Data Pump, que sólo puede ser accedida programáticamente). La siguiente tabla describe las tareas que se encuentran disponibles a través del Diseñador de DTS (las cuales también son accesibles programáticamente. DTS puede realizar transformaciones a nivel de columna en los datos durante el proceso de importación. Estas transformaciones pueden ser tan simples como el cambio de un nombre de columna, así como tan complejas como lo requiera nuestro proceso de transformación. Usando el Diseñador de DTS, podemos usar la tarea de Transformación de datos o la Tarea de Consulta Controlada por Datos, o incluso podemos escribir nuestro script ActiveX. Realizamos una transformación al mapear una relación entre una o más columnas en el origen de datos con una o más columnas en el destino de datos. Entonces, definimos las transformaciones que queremos que ocurran durante la importación.

FAGDUT 3 CCI

Page 4: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

Categoría Tarea Descripción Tareas que copian y administran datos y metadatos

Bulk Insert Ejecuta la sentencia BULK INSERT de Transact-SQL desde un paquete DTS. Esta tarea proporciona la forma más rápida de copiar información en una tabla o vista, pero no registra las filas que causan error. Si necesitamos capturar dichas finas a un archivo de excepción, deberemos usar la tarea de Transformación de Datos en su lugar.

Ejecutar SQL Ejecuta sentencias Transact-SQL durante la ejecución del paquete. Podemos realizar un número de operaciones con esta tarea, la cual incluye el eliminar tablas y ejecutar procedimientos almacenados.

Copiar objetos SQL Server

Copia objetos de SQL Server (metadatos) desde una instancia a otra. Esta tarea puede transferir datos de una instancia de SQL a otra.

Transferir Objetos de base de datos

Una colección de tareas que copian información de una instancia de SQL Server a otra. Estas tareas incluyen la tarea de Transferencia de Bases de Datos, la Transferencia de Mensajes de Error, la Transferencia de Inicios de Sesión, la Transferencia de Trabajos y la Transferencia de Procedimientos Almacenados. Estas tareas son usadas por el Asistente de Copia de Base de Datos.

Tareas que transforman datos

Transformar Datos Copia, transforma, e inserta datos desde un origen de datos a un destino de datos. Esta tarea el la implementación más básica del motor del data pump en DTS.

Consulta Controlada por Datos

Selecciona, customiza, y ejecuta una o más operaciones Transact-SQL, como ser un update o un delete. Usaremos esta tarea si la tarea de Transformación de Datos o la tarea de Bulk Insert no cumplen los requerimientos de nuestra aplicación.

Tareas que funcionan como Trabajos

Scripts ActiveX Ejecuta un script ActiveX. Podemos usar esta tarea para escribir código que realice funciones que no se encuentran disponibles en el Diseñador de DTS.

Propiedades Dinámicas Recupera datos desde un origen de datos externo y asigna valores a propiedades seleccionadas. Estos orígenes externos pueden ser un archivo .INI, un archivo de datos, consulta, variable global, variable de entorno, o una constante.

Ejecutar Paquete Ejecuta otros paquetes DTS como parte del flujo de trabajo. No debemos usar esta tarea recursivamente ya que podría provocar un error de desbordamiento de pila, lo cual causaría que MMC se cerrase.

Ejecutar Proceso Ejecuta un programa ejecutable o un archivo de lotes. Esta tarea puede ser usada para abrir cualquier aplicación estándar, como ser Microsoft Excel, pero es usada principalmente para ejecutar archivos de lotes o aplicaciones de negocio que trabajan contra un origen de datos.

Transferencia de Archivo

Descarga datos de un servidor FTP remoto. La tarea de Transferencia de archivo y el programa

FAGDUT 4 CCI

Page 5: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

FTP.EXE usan el mismo método de conexión. Enviar Correo Envía un mensaje por email como una tarea. Por

ejemplo, una notificación puede ser enviada a un administrador acerca del éxito o fallo de una operación de backup. Para utilizar esta tarea, debemos instalar un cliente MAPI en la instancia de SQL Server que estemos ejecutando.

Flujo de Trabajo en DTS DTS usa pasos y precedencia para ordenar las tareas dentro de un paquete. Los pasos definen la secuencia en la cual las tareas dentro de un paquete se ejecutan. En el diseñador de DTS, usamos las restricciones de precedencia para controlar la secuencia. Las restricciones de precedencia unen cada tarea con su predecesora. Una tarea puede tener múltiples restricciones de precedencia. Las tareas sin restricciones de precedencia se ejecutan en paralelo. Hay tres tipos de restricciones de precedencia: Restricción de Precedencia

Descripción

Incondicional Si la tarea T2 es enlazada a T1 con una precedencia incondicional, T2 va a esperar a que T1 finalice para comenzar su ejecución.

En caso de éxito Si la tarea T3 es enlazada a T1 con una precedencia de En caso de Éxito, la tarea T3 esperará a que finalice T1, y se ejecutará sólo si T1 tuvo éxito.

En caso de fallo Idem a la En caso de Exito, pero sólo se ejecuta si T1 falla. Almacenamiento de los paquetes DTS Podemos guardar paquetes DTS en SQL Server 2000, Servicios de Meta Data de SQL Server 2000, un archivo de Visual Basic, o un archivo de almacenamiento estructurado (OLE). Cuando guardamos un paquete DTS a disco, todas las conexiones, tareas, transformaciones, y pasos son guardados. 6.3 - TRANSFERENCIA Y TRANSFORMACION DE DATOS DTS proporciona dos herramientas gráficas que podemos usar para crear paquetes DTS que transfieran y transformen datos. El Asistente de Importación/Exportación con DTS puede crear transformaciones simples. También aprenderemos a usar el Diseñador de DTS para crear transformaciones y flujos de trabajo más complejos. El Asistente de Importación/Exportación El Asistente de Importación/Exportación puede ser iniciado desde el grupo de programas de Microsoft SQL Server en el menú de Inicio, y también puede ser llamado desde el Administrador Corporativo. Desde el Administrador Corporativo, llamamos a este asistente en el menú Herramientas, Asistentes, Servicios de Transformación de Datos. Este asistente nos guía a través de distintos pasos para importar y exportar datos entre distintos formatos. El primer paso en el procesamiento es seleccionar el Origen de Datos en la página correspondiente. El origen de datos por defecto es el Proveedor OLE DB para SQL Server. Este origen de datos se usa para conectar a una instancia de SQL Server. Seleccionaremos el tipo de biblioteca correspondiente para el formato desde el cual queremos copiar datos (como ser un archivo de texto o una base de datos Oracle) desde la lista desplegable Origen de Datos. Por ejemplo, si el origen de datos es SQL Server, proporcionaremos el nombre de servidor, el tipo de autenticación, y la base de datos (ver la siguiente figura):

FAGDUT 5 CCI

Page 6: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

Si estamos usando un origen de datos diferente, otra información de conexión puede ser requerida. Por ejemplo, si estamos copiando desde un archivo de texto, deberemos proporcionar el nombre de archivo seguido de información del formato del mismo (incluyendo campos fijos y delimitados con comas, tipo de archivo, delimitadores para filas y columnas, y calificadores de texto). El siguiente paso en el proceso es seleccionar el destino de datos en la página correspondiente. Nuevamente, el destino por defecto es SQL Server, para el cual deberemos ingresar el nombre del servidor e información de conexión. Podemos seleccionar desde una gran variedad de destinos de datos. Por ejemplo, podemos usar DTS para copiar datos desde una base de datos Oracle a dBASE. Con SQL Server 2000, podemos crear una base de datos al vuelo. Si creamos dicha base de datos, la ubicación física estará en el mismo disco que la base de datos Master. Las únicas propiedades que podemos elegir son el nombre de la base de datos y el tamaño del archivo de datos y registro de transacciones. Ver figura a continuación. Luego de seleccionar nuestro origen y destino de datos, debemos especificar o filtrar los datos que copiaremos en la página correspondiente (esta página no aparecerá si estamos creando una nueva base de datos). Nuestras elecciones variarán dependiendo del origen y el destino de datos. Si el origen es una base de datos, podemos realizar una simple copia de los datos (sin filtro y sin orden), seleccionando el botón de opción Copiar Tabla(s) y Vista(s) Desde la Base de Datos Origen, o podemos realizar una copia más compleja que requiera una consulta Transact-SQL (seleccionando sólo filas que correspondan con un criterio de selección), seleccionando el botón de opción Use una Consulta para Especificar los Datos a Transferir. A su vez, si tanto el origen y el destino son SQL Server 7.0 o 2000, podemos copiar objetos de base de datos (como ser inicios de sesión o procedimientos almacenados), seleccionando Copiar Objetos y Datos Entre Bases de Datos SQL Server. (Ver siguiente figura).

FAGDUT 6 CCI

Page 7: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

FAGDUT 7 CCI

Page 8: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

Copiar las tablas y vistas de la base de datos de origen Si elegimos esta opción, deberemos seleccionar todas o algunas de las tablas o vistas para copiar en la página siguiente. Por defecto, el nombre de destino para cada tabla o vista será el mismo que el de la tabla o vista que está siendo copiada. Podemos crear nuevos nombres o seleccionar diferentes tablas o vistas existentes.

Si no realizamos otra acción, los contenidos de cada tabla o vista seleccionada serán copiados sin cambios. Sin la tabla de destino ya existe, por defecto, los datos que se copian serán apendizados. Si la tabla destino no existe, la tabla será creada usando el nombre especificado. Si deseamos cambiar este comportamiento por defecto, en esta misma página hacemos click en el botón con los tres puntos. Se nos mostrará la siguiente ventana: En esta caja de texto, podemos especificar mapeados entre columnas del origen y del destino, crear una nueva tabla destino, editar la sentencia CREATE TABLE de Transact-SQL (si una nueva tabla necesita crearse), elegir entre eliminar o apendizar filas en la tabla destino (si la tabla ya existe), habilitar la inserción de identidades (si una columna con la propiedad Identity es especificada), o cambiar el tipo de datos (si se dispone de una conversión válida). También podemos especificar transformaciones únicas usando VBScript o Jscript en la pestaña de Transformaciones de la caja de diálogo. Para transformar datos mientras son copiados, editaremos el script en el área de texto para personalizar las columnas antes de ser copiadas. Aunque podemos realizar estas transformaciones especiales desde el Asistente de Importación/Exportación, se recomienda usar el Diseñador de DTS en su lugar.

FAGDUT 8 CCI

Page 9: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

Usar una consulta Si elegimos usar una consulta para especificar los datos a transferir, podemos escribir nuestro propio script Transact-SQL en el espacio proporcionado por la caja de texto. Podemos tipear el script, examinar e importar el mismo, o hacer click en el botón de Generador de consultas para generar el SQL resultante. Se proporciona un botón Analizar para controlar que el script SQL sea válido.

FAGDUT 9 CCI

Page 10: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

Una vez que hayamos ingresado nuestro script Transact-SQL y click en Siguiente, podemos seleccionar y ver nuestro resultado haciendo click en el boton Vista Previa en la ventana Seleccionar tablas y vistas de origen. Se nos mostrará una ventana como la siguiente:

Copiar objetos y datos entre bases de datos Si elegimos copiar objetos y datos entre bases de datos SQL Server, podemos especificar cuáles objetos deseamos transferir entre las dos instancias en la página de Seleccionar Objetos a Copiar. Por defecto, los objetos de destino son creados para todos los objetos que son copiados (los objetos son copiados por defecto), los objetos correspondientes son eliminador antes de crear los nuevos, y los objetos dependientes son incluídos en la transferencia de datos. Como vemos en la siguiente ventana, podemos limitar qué objetos queremos copiar (como ser sólo ciertas tablas o procedimientos almacenados, o no índices).

FAGDUT 10 CCI

Page 11: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

Guardar y programar paquetes El paso final en el Asistente para Importación/Exportación para los distintos tipos de transformación descriptos anteriormente es elegir entre ejecutar el paquete inmediatamente, o guardarlo y especificar una programación en la página Guardar, Programar y Duplicar el Paquete. Como vemos en la siguiente ventana, por defecto el paquete será ejecutado y no será guardado o programado. Podemos elegir entre programarlo para correr en un momento específico como un trabajo del Agente de SQL Server. También podemos elegir entre distintos formatos para guardar el paquete.

6.4 – EL DISEÑADOR DE DTS Para crear un nuevo paquete usando el Diseñador de DTSA, en la consola de administración SQL Server, debemos hacer click derecho en Data Transformation Services y click en Nuevo Paquete. El método de abrir un paquete ya existente en el contenedor de DTS depende de cómo el paquete fuera guardado. Si el paquete DTS fue guardado como un archivo de almacenamiento estructurado, debemos hacer click derecho sobre Data Transformation Services y seleccionar Abrir paquete. Si el paquete DTS fuera guardado en SQL Server, hacemos click en Paquetes locales y hacemos click en el paquete correspondiente en el panel de detalle. Si el paquete fuera guardado en los Servicios de Meta Datos de SQL Server, hacemos click en el contenedor Paquetes de Meta Datos en la vista de árbol de la consola, y hacemos click en el paquete correspondiente en el panel de detalle. El Diseñador de DTS nos permite graficamente crear conexiones a orígenes de datos y destinos, configurar tareas DTS, realizar transformaciones DTS, y especificar restricciones de precedencia. Podemos usar drag-and-drop y completar las cajas de diálogo de los distintos objetos para crear paquetes DTS en la vista de diseño.

La siguiente figura nos muestra la interfase de usuario del Diseñador de DTS:

FAGDUT 11 CCI

Page 12: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

Cuando creamos un paquete DTS usando el diseñador de DTS, el primer paso es seleccionar un origen de datos. Podemos arrastrar un objeto de origen de datos desde la barra de herramientas de Conexión a la hoja de diseño, o seleccionar un origen de datos desde el menú Conexión. El cuadro de diálogo Propiedades de Conexión que aparece varía basado en el origen de datos seleccionado. Completaremos esta caja de diálogo para configurar los orígenes de datos. Esta caja de diálogo es similar a la ventana mostrada por el Asistente de Importación/Exportación. La siguiente figura nos muestra la caja de diálogo en cuestión:

FAGDUT 12 CCI

Page 13: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

El siguiente paso es seleccionar y configurar un destino de datos de la misma manera que describimos arriba. La siguiente figura muestra el diseñador de DTS conteniendo tres orígenes de datos: dos conexiones OLE DB a SQL Server y una conexión a un archivo de texto (Fuente).

A continuación, necesitaremos definir las tareas que queremos que ocurran usando ya sea el menú Tareas o la barra de Herramientas Tarea. Si seleccionamos la tarea Transformar datos, se nos pide seleccionar el origen y el destino de los datos. Si seleccionamos otra tarea, una caja de diálogo aparecerá para pedirnos que configuremos las propiedades de la tarea (como ser configurar la tarea Ejecutar SQL para crear una tabla usando una conexión de datos existente). Si seleccionamos la tarea Transformar datos, una flecha de color gris oscuro aparece apuntando desde el origen al destino de datos. Si seleccionamos otra tarea, simplemente aparece en la hoja de diseño como un ícono. La siguiente figura muestra dos tareas de Transformar Datos y una de Ejecutar SQL que crea la tabla. Para editar y customizar la tarea Transformar Datos, hacemos click en la flecha gris oscuro entre el origen y el destino de datos para abrir la caja de diálogo para esta tarea. En la pestaña Origen, si el origen de datos es una base de datos, podemos filtrar los datos que están siendo copiados seleccionando tablas o vistas específicas o usando una consulta Transact-SQL.

FAGDUT 13 CCI

Page 14: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

FAGDUT 14 CCI

Page 15: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

En la pestaña Destino, podemos definir información sobre los datos que están siendo importados (como ser definiciones de columnas). Nuestra elección variará dependiendo del destino de datos. Si el destino de datos es una base de datos, podemos crear y definir una nueva tabla o seleccionar una existente para cada tabla que esté siendo importada.

En la pestaña Transformaciones, podemos configurar transformaciones. Por defecto, las columnas origen son copiadas a las columnas destino sin modificación. Si deseamos modificar los datos de una columna entre el origen y el destino de datos, seleccionaremos la columna que vamos a modificar haciendo click en la lista desplegable Nombre o haciendo click en la flecha entre el origen y el destino (la flecha aparecerá en negrita). A continuación, hacemos click en el botón Nuevo o el botón Editar para crear la nueva transformación o modificar una transformación existente (el hacer doble click sobre la flecha resaltada modifica la transformación existente). Si hacemos click en el botón Nuevo, podemos elegir el tipo de transformación que deseamos a partir de una lista de transformaciones disponibles en la caja de diálogo Crear Nueva Transformación. A continuación vemos estas ventanas:

FAGDUT 15 CCI

Page 16: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

Si seleccionamos ActiveX Script en la última ventana, podemos crear un nuevo script de transformación para realizar transformaciones más complejas. En la pestaña de Búsquedas, podemos definir una consulta de búsqueda. Una consulta de búsqueda requiere una conexión de datos que ejecute consultas y procedimientos almacenados. Usaremos este tipo de consultas para buscar dentro de información tabular, realizar actualizaciones en paralelo en múltiples sistemas de bases de datos, validar entradas

FAGDUT 16 CCI

Page 17: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

antes de cargar, invocar procedimientos almacenados y responder a condiciones de entrada, y usar variables globales como parámetros de consulta. Finalmente, en la pestaña Opciones, podemos definir un número de propiedades adicionales para la transformación. Podemos definir uno o más archivos de excepción para ser usado para registrar excepciones durante la ejecución del paquete. Este archivo puede residir tanto en un disco local como en una unidad en la red. El archivo puede ser escrito en el formato de SQL Server 7.0 para compatibilidad hacia atrás. Podemos dividir los errrores de origen y destino en archivos separados. También podemos definir un número máximo de errores permitidos antes de que la ejecución del paquete termine. Asimismo, podemos definir propiedades específicas de ejecución cuando la conexión de destino es el proveedor OLE DB para SQL Server. Estas propiedades incluyen especificar procesamiento de importación rápido, control de restricciones durante la ejecución del paquete, tipos de bloqueos, tamaño del lote, y propiedades de identidad. Una vez que hayamos configurado la tarea de Transformación de Datos y cualquier otra tarea DTS que nuestro paquete realizará, debemos configurar restricciones de precedencia. En nuestro ejemplo, tendremos datos desde dos origenes de datos separados siendo copiados a un destino de datos. También tendremos una tarea de creación de tabla (CREATE TABLE). Usaremos restricciones de precedencia para determinar el orden de ejecución para cada tarea. Para establecer precedencia en el flujo de trabajo, seleccionaremos dos o más tareas en el orden en que se ejecutarán, y seleccionaremos el tipo de flujo de trabajo en el menú Flujo de Trabajo. Por ejemplo, si la tarea Create Table debe ejecutarse antes que la copia al destino de datos, seleccionaremos En caso de éxito en el menú Flujo de Trabajo. Podemos crear una tarea de Enviar correo y configurar la restricción de precedencia entre la tarea Create Table y la tarea Enviar correo. Esto enviará un email de notificación a un administrador si la tarea Create Table fallase. Cuando estamos usando paquetes DTS automatizados y programados para realizar operaciones de base de datos, las notificaciones de fallos son esenciales. 6.5 - TRABAJO CON PAQUETES DTS Ahora que entendemos cómo crear y ejecutar paquetes DTS, aprenderemos sobre cómo guardar y asegurar dichos paquetes. A su vez, aprenderemos métodos adicionales para ejecutar un paquete DTS, a la vez que usar los registros de eventos para detectar y corregir problemas que ocurren durante la ejecución de los paquetes DTS. OPCIONES DE GUARDADO DE PAQUETES DTS SQL Server 2000 Guardar un paquete DTS en SQL Server 2000 nos permite guardar un paquete DTS como un objeto binario en la tabla sysdtspackages en la base de datos MSDB en una instancia SQL Server 2000 en nuestra organización. Podemos llevar un inventario de paquetes DTS en una ubicación de la red. Cada versión de un paquete DTS es almacenada, preservando el historial de ejecución de un paquete. Esto nos permite recuperar y editar cualquier versión del paquete DTS que elijamos, no sólo la última versión. Cuando guardamos un paquete DTS en SQL Server 2000, podemos establecer tanto una contraseña de propietario como una contraseña de usuario. Estas contraseñas son utilizadas en adición a la Autenticación Windows o la Autenticación de SQL Server usadas para conectarse al servidor. Los usuarios con acceso a la contraseña de usuario puede correr un paquete DTS, pero no pueden abrir o editar el paquete. Los usuarios deben tener acceso a la contraseña de propietario para abrir o editar un paquete DTS. Este nivel extra de seguridad es altamente recomendado, particularmente en una instancia de SQL Server 2000 que permita autenticación SQL Server.

FAGDUT 17 CCI

Page 18: M_dulo 06 Curso SQL server

Curso SQL Server 2000 Capítulo 6

Meta Data Services Guardar un paquete DTS como un Servicio de Meta Datos de SQL Server permite hacer un seguimiento de la versión del paquete, meta datos, y linaje (origen de datos y transformaciones). Podemos ver un historial de versión para paquetes guardados en los Servicios de Meta Datos en el Administrador Corporativo de SQL Server y podemos abrir la versión que deseamos. DTS usa el modelo de información de DTS para guardar información de meta datos en los Servicios de Meta Datos. El Modelo de Información describe las transformaciones de datos, cómo están agrupadas, y los tipos de datos accedidos. Esta información puede ser almacenada, examinada, y reutilizada. Archivo de Almacenamiento Estructurado Guardar un paquete como un archivo de almacenamiento estructurado permite copiar, mover, y enviar el paquete a través de la red (como ser dentro de un mensaje de correo electrónico), sin guardar el paquete en la base de datos o repositorio. Múltiples versiones pueden ser almacenadas dentro de un solo archivo. Guardar un archivo como de Almacenamiento Estructurado también soporta contraseñas de propietario y de usuario. Podemos usar las utilidades de línea de comandos de DTS para la ejecución del paquete. Estos archivos tienen la extensión .DTS. Archivo Visual Basic Guardar un paquete DTS como un archivo de Visual Basic nos permite editar el paquete usando Visual Basic o Visual C++. Esto permite a los desarrolladores incorporar paquetes DTS en programas Visual Basic o ser usados como prototipos que referencian los componentes en el modelo de objetos de DTS. Un paquete DTS guardado como Archivo Visual Basic no puede ser reabierto y editado por el Diseñador de DTS. 6.6 - EJECUCIÓN DE PAQUETES DTS DTS proporciona dos utilidades de línea de comandos: la utilidad DTS Run y el comando Dtsrun. Usando cualquiera de estas utilidades, el usuario puede ejecutar un paquete DTS sin abrirlo. Si el paquete DTS fuera guardado usando una contraseña de usuario, debemos proporcionar dicha contraseña. Si el paquete DTS fue guardado como un archivo de almacenamiento estructurado, deberemos especificar el nombre del archivo. Si el paquete DTS fue guardado en SQL Server, deberemos especificar información de conexión a la instancia SQL Server que contiene el paquete. La utilidad DTS Run La utilidad DTS Run es una utilidad interactiva que nos permite conectar a un servidor o especificar un archivo, especificar opciones de programación, identificar y habilitar un registro de eventos, agregar nuevas variables globales y cambiar las propiedades de variables existentes, y crear un comando Dtsrun para uso futuro. Para acceder a esta utilidad, debemos ejecutar Dtsrunui desde la línea de comandos Dtsrun La utilidad de línea de comandos Dtsrun nos permite ejecutar un paquete DTS desde la línea de comandos usando argumentos y embeber dicho comando en un archivo .BAT o .CMD por lotes. Por ejemplo, para ejecutar el paquete DTS llamado MiPaquete, guardado en c.\PaquetesDTS\DTS1.dts, y con una contraseña de Password, tipearemos el siguiente comando:

dtsrun /FC:\PaquetesDTS\DTS1.dts /NMiPaquete /MPassword

FAGDUT 18 CCI