none
Necesito pasar toda una tabla de una base de datos a otra mediante remoto RRS feed

  • Pregunta

  • Hola comunidad.

    Hoy les traigo este problema que tengo...

    Hace un par de dias mi jefe se mando un super macanon y modifico los valores de alrededor 1.8M de registros de una tabla fundamental que tenemos en nuestra empresa...

    El tema es que tenemos backups diarios de la base de datos y justo en el momento que sucedio eso fue previo a un backup..

    Por lo que nosotros tenemos 2 servidores que funcionan de contingencia por si uno se cae.

    Entonces yo lo que hice fue levantar el backup anterior a que suceda el problema donde hice una copia de la tabla correcta.

    Ahora lo que YO NECESITO es:

    Transpasar esos 1.8M de registros de la base datos de esa PC llamemosla B a la PC A ya que ese es el servidor que siempre se encuentra corriendo sin problemas.

    Como puedo hacer eso? Se puede hacer de alguna manera llamando a una IP en especifico o tengo que generar un txt y exportarlo ?

    miércoles, 9 de mayo de 2018 13:01

Respuestas

  • Hola:

    El programa, esta en la carpeta de tu equipo destino, dentro de Microsoft Sql Server (Version), y se llama Importar y Exportar Datos

    Inicialo. Cuando llegues a la pantalla de origen de datos, Busca en el combo Sql Server Native Client XX

    Una vez buscado y establecido la autenticación tu combo de bases de datos, tiene que tener las que tenga en el servidor. Aquí tienes que tener claro, que Sql server en principio trabaja por el puerto 1433 por tanto el firewall, debería de dejar pasar esta conexión. Si no ves, el origen de datos, me lo dices, que buscamos, lo que tienes que configurar para verlo. Yo me he autenticado con un inicio de sesión sql, pero puedes usar El de Windows.

    Destino mas de lo mismo, si observas en mi ejemplo, yo he utilizado dos nombres de instancias, pero puede ser perfectamente 192.168.22.45(maquina origen:1433) y 192.168.22.200 (maquina destino:1433)


    Puedes importar tablas, completas, de todo.... yo he seleccionado una consulta puesto que ya dispones de las dos tablas y solo queremos pasar XXX registros.

    Mi consulta es simple, la tuya tiene que ser para los registros que quieres trasladar. Por ejemplo select  * from tabla where y te remarco el where, para que no haya colisión de datos.

    Luego hay un par de pantallas de info, (siguiente, siguiente), y finalizar.

    Observarás que copia a la velocidad del rayo. En mi ejemplo en poco más de 5 segundos, ha copiado dos millones de filas.

    Ya me contarás como te va.

    Configurar Sql Server por ip

    Instalar Integration Services

    Un saludo

    • Marcado como respuesta Mariano D jueves, 10 de mayo de 2018 11:35
    miércoles, 9 de mayo de 2018 16:14

Todas las respuestas

  • Hola Mariano D:

    Si estas por internet, puedes montarte una VPN, y luego desde instancia A llamas a Instancia B, a través de un linked server.

    Tambien lo puedes hacer a traves de un paquete SSIS, donde el origen de la instancia es A, base de datos A, tabla A y el Destino es B, tabla A destino A. y eso te irá como un avión con tremenda facilidad.

    Si lo haces a través de una aplicacion, Select Tabla A pagina 1 de 1 millon en instancia A, inserto en B, select pagina 2.....

    Tienes muchas opciones, pero deberías de ponerte a recaudo si no estan en la misma red.

    Sql server lo puedes llamar por IP, o por nombre de intancia.

    Espero haberte dibujado un panorama, con pocos problemas.

    Un saludo

    miércoles, 9 de mayo de 2018 13:16
  • Quizá un pequeño handicap lo tienes, en si los registros se modificaron, pero existen en B, que entonces no es insertar y tendrás que hacer un merge.

    Saludos

    miércoles, 9 de mayo de 2018 13:17
  • Hola Javi Fernandez F:

    Los dos servidores están conectados en Red por lo que ambos dos servidores se encuentran si tiro por ejemplo un ping de una pc a la otra.

    Como puedo hacer eso del paquete SSIS??

    Yo tengo en la PC A Una instancia A y en la pc B tengo el mismo nombre de instancia pero es otra base de datos totalmente diferente que la usamos cuando pasa algo en la maquina B

    Tomando un ejemplo sencillo decime con eso del paquete SSIS como hago lo siguiente:

    192.168.22.45 Instancia Cocheria Pepe (Maquina A) tabla Autos

    192.168.22.200 Instancia cocheria pepe (Maquina B) tabla AutosBKP

    Como hago para pasar lo de la ip 200 a la ip 45 ?

    Me pasas algún comando o lugar donde pueda ver como hacerlo?? Soy un DBA junior y nunca hice algo así!

    miércoles, 9 de mayo de 2018 13:37
  • Ok. si las ves el misma red, perfecto. Voy a hacerte unas capturas de pantalla, si no encuentro algo en la red, y por la tarde, te lo paso.
    miércoles, 9 de mayo de 2018 14:44
  • Hola:

    El programa, esta en la carpeta de tu equipo destino, dentro de Microsoft Sql Server (Version), y se llama Importar y Exportar Datos

    Inicialo. Cuando llegues a la pantalla de origen de datos, Busca en el combo Sql Server Native Client XX

    Una vez buscado y establecido la autenticación tu combo de bases de datos, tiene que tener las que tenga en el servidor. Aquí tienes que tener claro, que Sql server en principio trabaja por el puerto 1433 por tanto el firewall, debería de dejar pasar esta conexión. Si no ves, el origen de datos, me lo dices, que buscamos, lo que tienes que configurar para verlo. Yo me he autenticado con un inicio de sesión sql, pero puedes usar El de Windows.

    Destino mas de lo mismo, si observas en mi ejemplo, yo he utilizado dos nombres de instancias, pero puede ser perfectamente 192.168.22.45(maquina origen:1433) y 192.168.22.200 (maquina destino:1433)


    Puedes importar tablas, completas, de todo.... yo he seleccionado una consulta puesto que ya dispones de las dos tablas y solo queremos pasar XXX registros.

    Mi consulta es simple, la tuya tiene que ser para los registros que quieres trasladar. Por ejemplo select  * from tabla where y te remarco el where, para que no haya colisión de datos.

    Luego hay un par de pantallas de info, (siguiente, siguiente), y finalizar.

    Observarás que copia a la velocidad del rayo. En mi ejemplo en poco más de 5 segundos, ha copiado dos millones de filas.

    Ya me contarás como te va.

    Configurar Sql Server por ip

    Instalar Integration Services

    Un saludo

    • Marcado como respuesta Mariano D jueves, 10 de mayo de 2018 11:35
    miércoles, 9 de mayo de 2018 16:14
  • Javi si si conocia la herramienta de importar / exportar datos pero no sabia que se llamaba asi!

    Con eso pude hacerlo sin problemas muchas gracias!!

    jueves, 10 de mayo de 2018 11:36