Una de las herramientas que incorpora SQL Server 2000 (disponible también en SQL Server 7.0) son los servicios de transformación de datos (DTS – Data Transformation Services), son herramientas y objetos que permiten mover datos entre varios orígenes de datos diferentes o iguales.

Aunque en este artículo explicaré paso a paso la parte de importación/exportación a través del asistente que incorpora SQL Server, los DTS son mucho más dando la posibilidad de programar paquetes de DTS que realicen diferentes tareas de forma secuencial o en paralelo dependiendo de la programación. Cada paquete puede contener una o varias secuencias de transformación de datos y accesos a base de datos. Estos paquetes DTS se almacenan en Servicios de transformación de datos, pero éste podría ser otro capitulo de este manual.

¿Qué tareas puede realizar un DTS?

Una tarea es un conjunto de procesos que se ejecutan. Por ejemplo:

– Importación y exportación de datos entre dos orígenes de datos.
– Transformación de datos.
– Copia de objetos de base de datos : tablas, índices, etc.
– Ejecución de instrucciones de Transact-SQL.

Es una herramienta para mover, copiar, modificar y trabajar con orígenes de datos iguales o diferentes, pero en este punto vamos a ver la importación y exportación de datos entre dos orígenes de datos iguales o diferentes.

DTS tiene una arquitectura OLE DB por lo que puede copiar y transformar múltiples orígenes de datos, entre ellos:

– SQL Server
– Oracle
– Access, excel, Outlook, archivos de texto
– Exchange Server
– Y orígenes de datos proporcionados por terceros

Para ejecutar el asistente de importación/exportación podemos hacerlo de varias formas, desde la consola (cmd) del sistema ejecutando el archivo dtswiz, otra opción es ir desde el menú Inicio -> programas -> Microsoft SQL Server -> Importación y exportación de datos y por supuesto, desde el administrador corporativo. Se puede ejecutar posicionándonos en una base de datos y con el botón derechos seleccionamos Todas las tareas -> importar datos o exportar datos dependiendo de la tarea que vamos a realizar.

Ejecutar un DTS de importación o exportación consta de una serie de pasos:

1. Una vez ejecutado el asistente, pasamos la primera pantalla de ayuda y aparece la imagen 1 (Elegir un origen de datos). En esta pantalla seleccionamos un origen de datos (desde donde se van a transferir los datos), tenemos múltiples opciones, desplegando el combo elegir un origen de datos, vemos las distintas fuentes desde donde se pueden extraer datos para importarlos a otros formatos. Dependiendo del origen de datos que seleccionemos, esta pantalla nos ira cambiando mostrando unas opciones u otras según las necesidades del origen de datos seleccionado.
Seleccionamos un servidor SQL Server. Por defecto aparecerá la opción de SQL Server, si dejamos esta opción lo siguiente que debemos hacer es seleccionar el servidor SQL Server del que queremos extraer datos, por defecto esta seleccionado el servidor local.
Seleccionamos la forma de autentificación al servidor SQL Server elegido.
Y la base de datos de donde queremos extraer los datos, por defecto si ejecutamos el asistente desde una base de datos, ésta será la seleccionada por defecto.
Una vez configurada la pantalla Elegir un origen de datos pulsamos siguiente.

2. La siguiente pantalla elegir un destino de datos (imagen 2) es exacta a la primera, con las mismas opciones, pero en este caso las opciones que estamos seleccionando son las de destino de los datos.

3. Elegir copia de tabla o consulta (imagen 3), aquí hay tres opciones dependiendo de la forma y el modo que queramos copiar los datos. Las opciones de esta pantalla se habilitan o deshabilitan dependiendo de los orígenes de datos seleccionados. Suponiendo que los orígenes de datos son en ambos casos (origen y destino) SQL Server

1ª opción: copiar las tablas y vistas de la base de datos de origen en la siguiente pantalla (imagen 4) tendremos que elegir las tablas y/o vistas que transferiremos a la base de datos destino, si se selecciona una tabla y se pulsa el botón (…), en la columna transformar aparece una pantalla para modificar las opciones de traspaso de esa tabla, si la tabla no existe en destino, ésta se creará pero si existe tenemos la posibilidad de borrarla o adjuntar los datos a los existente.

2ª opción: Usar una consulta para especificar qué datos transferir, esta opción permite en la siguiente pantalla escribir una consulta SQL para realizar la consulta de traspaso de datos, de esta forma podemos transferir datos filtrados por parámetros.

3ª opción: Copiar objetos y datos entre bases de datos SQL Server, ésta opción solo estará disponible si la transferencia de datos se realiza entre servidores SQL Server. En la siguiente pantalla (imagen 5) podemos elegir los objetos a copiar, entre ellos tablas, vistas, procedimientos almacenados, etc., así como elegir opciones tales como reemplazar o anexar datos, copiar todos los objetos o seleccionarlos de una lista, y elegir las opciones de copias.
Esta opción de transferencia de datos entre servidores SQL Server es la más completa y la que deberemos utilizar a la hora de hacer las transferencias.

4. Por último, la siguiente pantalla podemos elegir como y cuando ejecutar el DTS, ejecutarlo al momento o programarlo como una tarea o guardarlo como un paquete DTS, procedimiento almacenado o como un modulo de Visual Basic.

5. La siguiente pantalla es informativa del proceso que se va a realizar (imagen 6), dependiendo de las opciones seleccionadas en la pantalla anterior, antes de esta pantalla informativa pueden salir otras para guardar los datos elegidos en pantallas anteriores dependiendo del los datos seleccionados.

Crear, ejecutar o programar la ejecución de un DTS de importación o exportación es una tarea sencilla y potente que puede ser de gran utilidad a la hora de transferir datos entre servidores remotos o entre diferentes fuentes de datos.

DTS de importación o exportación también pueden crearse desde código Visual Basic, Visual C++, etc. Tiene un modelo de objetos que son accesibles mediante esos lenguajes de programación, por ejemplo desde Visual basic deberemos referenciar las librerías “Microsoft DTSDataPump Scripting Object Library” (dtspump.dll) y “Microsoft DTSPackage Object Library” (dtspkg.dll) para poder crear DTS a través de programación.

Via | http://www.netveloper.com/contenido2.aspx?IDC=67_0