La transferencia
de objetos de base de datos SQL y datos entre bases de datos es a menudo necesaria
en el mundo real. Por ejemplo, algunos escenarios podrían ser la creación de un
entorno de base de datos, junto con varios entornos, como el de desarrollo, de prueba
y de producción; y, por ejemplo, para crear tablas temporales para ayudar al
proceso de ETL.
Este ejercicio
demuestra cómo podemos simplemente transferir todos los objetos de base de
datos y los datos entre el caso de ejemplo Adventure Works y una nueva y vacía
base de datos creada para este ejercicio.
Alistándose
Para alistarse
para este ejercicio, utilice los siguientes pasos:
1.
Abra el SQL
Server Management Studio (SSMS) y conéctese a SQL Server.
2.
Crear una
base de datos temporal y vacía a la cual transferir objetos de SQL de la base
de datos AdventureWorksLT2012.
3.
En la
carpeta de base de datos, pulse Nueva Base
de Datos....
4.
Proporcionar
un nombre para la nueva base de datos (AdventureWorksLT2012_DEV), asegúrese que las dos bases de datos tengan
el mismo collation y mantenga las
propiedades restantes como las predeterminadas.
5.
Abra SQL
Server Data Tools (SSDT) y cree un nuevo proyecto SSIS.
6.
Proporcionar
un nombre (por ejemplo TareaTransferSSO) y una ubicación para el proyecto SSIS y proceder.
7.
Seleccione
el paquete creado por defecto y renómbrelo a: TransferSQLObjects.dtsx.
Ejercicio
La
tarea utilizada en este ejercicio es la Transfer
SQL Server Objects Task y tiene un diseño muy intuitivo para transferir
rápidamente objetos como Tablas, Vistas, Procedimientos Almacenados, Funciones
Definidas por el Usuario, y Tipos de
Datos Definidos por el Usuario entre las bases de datos. Esta tarea hace
uso de la SQL Server Management Objects (SMO), que no es más que una colección
de objetos que están diseñados para la programación de todos los aspectos de la
gestión de Microsoft SQL Server. Luego se muestra una lista de los pasos más
importantes que se deben seguir para utilizar esta tarea:
1.
Crear una
nueva conexión SMO al SQL Server que tiene la base de datos de origen y también
la nueva base de datos creada antes. Si estas bases de datos están localizadas
en diferentes servidores, otra conexión debe ser creada.
2.
En el Connection Managers haga clic derecho para
agregar una New Connection….
3.
En la
ventana emergente Add SSIS Connection
Manager, busque el tipo de conexión SMOServer
en la lista y haga clic en el botón Add....
5.
Pruebe la
conexión y si tiene éxito pulse OK.
6.
Añadir un Transfer SQL Server Objects Task al Control Flow a fin de transferir
objetos de SQL y datos entre dos bases de datos.
7.
Desde el Toolbox
SSIS, arrastre y suelte un Transfer SQL
Server Objects Task al diseñador y ábralo para editarlo.
8.
En el
grupo Connection en la pestaña Objects, seleccione la conexión de
origen y destino y la base de datos.
11. Cierre el editor pulsando el botón OK.
12. Ejecutar el paquete presionando F5. Si la ejecución es satisfactoria, la
nueva base de datos AdventureWorksLT_DEV debería tener todos los objetos creados.
13. Editar la tarea de nuevo y cambiar sus
configuraciones. Esta vez, insertar datos en el destino.
Cómo Funciona...
Hay muchos
escenarios donde necesitamos transferir objetos como tablas de bases de datos,
vistas, procedimientos almacenados, funciones, datos, logins y otros objetos
SQL Server entre dos bases de datos. SSIS proporciona un conjunto de tareas Transfer
para proporcionar toda esta funcionalidad entre dos SQL Servers:
·
Transfer
Database Task
·
Transfer
Error Messages Task
·
Transfer
Jobs Task
·
Transfer
Master Stored Procedures Task
·
Transfer
Logins Task
2 comentarios:
Esta tarea Control Flow, nos permite transferir todo tipo de objetos entre instancias de BD. Espero les sirva.
Justo lo que necesitaba, gracias!
Publicar un comentario