Usuario
Copiar Base de datos de un servidor a otro

Pregunta
-
Hola a todos, nuevamente recurro a ustedes para ver si tienen alguna idea...
Les expongo el escenario
Tengo 3 Servidores sql server 2000, uno de prueba(local en mi equipo), el de "producción" (en el servidor de la empresa) y uno de respaldo para peticiones web (en otro equipo), cada uno tiene practicamente la misma BD. Cuando desarrollo, simpre hago pruebas en el servidor de mi pc, una ves todo probado implemento los cambios en el respectivo servidor de producción, tambien requiero que cada 2 hrs se este "respaldando" la información el servidor de respaldo, ya que a este llegan consultas desde la web y que por cuestiones de seguridad seleccionamos que las peticiones web las haga a este servidor y no al productivo...
Actualmente hago la migración de la informacion del servidor de producción al de respaldo, mediate paquetes de sql server y trabajos del mismo servidor, el problema es que cada ves que agrego un campo a una tabla o agrego una tabla tengo que hacer un nuevo "trabajo" tanto el el servidor de respaldo(en el cual vacia la DB) y en el servidor productivo (El cual copia los datos al otro servidor), esto es muy constante, ya que como estamos mejorando y agregando procesos y modulos al sistema, pues hay que cambiar/agregar cosas a la DB y actualmente cuando agrego una tabla simplemente no lo toma en cuenta para vaciar o para copiar los datos.
Me gustaria hacer un programa el cual haga automaticamente esto, cuando y cambie algo en una tabla o agrege alguna, la pase automaticamente sin problemas.
Espero haberme explicado bien...
tengo una baga idea de como hacerlo, segun yo:
-
vaciar la DB de destino
copiar toda la estructura la de BD origen al destino
copiar todos los registros de todas las tablas a la DB destino
Mis problemas:
-
No se obtener el nombre de todas las tablas automaticamente
Como copiar la estructura completa de la tabla al otro servidor (o en su caso crearla)
copiar las filas de un servidor a otro mediante una instrucción sql (o varias,podria ser con un for anidado)
Alguna idea de como hacerlo?
he buscado varios programas, funcionan pero son de paga , ademas me gustaria ponerle logs de resultados para llevar una estadistica de lo que pasa, ademas de poder manejarlo via web, de eso no tengo problemas... pero me gustaria poder hacerlo....
les prometo que si lo realizo, lo publico...
Gracias por adelantado!!!!- Cambiado Enrique M. Montejo domingo, 29 de mayo de 2011 17:40 acceso a datos (De:Lenguaje VB.NET)
Todas las respuestas
-
hola,
pero no necesitas realizar un programa para hacer lo que comentas.
investiga un poco el sql server trae esta funcionalidad.
puedes hacer uso de jobs, o tareas de sql server y alli crear las acciones que necesitas para realizar los resplados.
SQL Server Database Copy Tool
recuerdo hace un tiempo haber utilizado DTS, Data Transformation Service, viene con Sql server, no recuerdo que tan potente es en sql server 2000, pero en 2005 estaba bueno.
saludos
Leandro Tuttini
Blog
Buenos Aires
Argentina -
Hola pues hay dos soluciones para hacer esto
Una con Visual Studio 2008/2010
http://msdn.microsoft.com/en-us/library/bb907585.aspx
http://blogs.msdn.com/b/webdevtools/archive/2007/10/15/sql-database-publishing-wizard-is-now-in-visual-studio-orcas.aspx
Y la otra SQL Database Publishing wizard para SQL 2005
http://www.microsoft.com/es-es/download/details.aspx?id=5498
Con estas herramientas te sera mas fácil publicar los cambios en tus entornos.
Saludos
Aldo Flores
@alduar
-
Hola Aldo, por favor no reflotes preguntas tan antiguas...
Saludos!
Javier Torrecilla
Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
Si la respuesta te ha sido util Votala.
Mi Blog: Jtorrecilla
Enlace a Faq de Winforms en Ingles Muy bueno
TabControl con Mejoras