none
Pasar datos de una base de datos a otra. RRS feed

  • Pregunta

  • Hola.

    Quiero crearme una base de datos2 que reciba los datos de otra base de datos1. Para que diariamente se pasen los datos de la base de datos1 a la base de datos2 y se vayan guaradando en las tablas correspondientes. Que debería hacer un job?

    viernes, 4 de septiembre de 2020 8:02

Todas las respuestas

  • Hola rgf95:

    Es una opción, pero realmente existen tecnologías, mucho mejores, y que te van a dar mucho mejor resultado, que el mero hecho de ir copiando tablas.

    Lo primero es conocer realmente el escenario, y luego buscar la tecnología apropiada.

    Failover cluster Always on, logshipping, mirroring, replication. Existen muchas posibilidades.

    Te dejo un enlace a un artículo para que vayas viendo un poco las posibilidades.

    https://docs.microsoft.com/es-es/sql/database-engine/sql-server-business-continuity-dr?view=sql-server-ver15

    Es muy importante, saber con que edición de motor sql dispones y su versión.

    Y que tipo de disponibilidad quieres que tenga la base2

    viernes, 4 de septiembre de 2020 10:12
  • Quiero crearme una base de datos2 que reciba los datos de otra base de datos1. Para que diariamente se pasen los datos de la base de datos1 a la base de datos2 y se vayan guaradando en las tablas correspondientes. Que debería hacer un job?

    Aunque hay muchas otras opciones, un Job puede resolverte el papel.

    Podrías hacer un simple Job del tipo "ejecutar sentencias SQL" y en las sentencias meter instrucciones del tipo "Insert into base2.dbo.tabla1 select * from base1.dbo.tabla1", aunque por supuesto tienes que "pulir" la instrucción dependiendo de lo que quieras replicar en tus tablas. Por ejemplo, puede que tengas que usar sentencias MERGE si necesitas actualizar y borrar registros existentes.

    Otra opción es usar Integration Services (SSIS) para crear un paquete .dtsx que trasvase la información que desees. Y después en el Job usas la opción de "ejecutar paquete de SSIS" para que lo lance periódicamente.

    Si quieres copiar la base de datos entera, no solamente unas cuantas tablas, podrías usar desde SSMS el asistente para copiar bases de datos, y cuando llegues al último paso decirle que lo salve en un .dtsx. Después automatizas ese dtsx con un Job como en el caso anterior.


    viernes, 4 de septiembre de 2020 11:43