Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Al poner el respaldo de mi bd, esta no conserva los indices autonumericos

Estas en el tema de Al poner el respaldo de mi bd, esta no conserva los indices autonumericos en el foro de SQL Server en Foros del Web. Hola amigos, un gusto leerlos nuevamente, hace algunos mese ya que no pasaba por forosDelWeb. Lo que me trae por aqui es un problema muy ...
  #1 (permalink)  
Antiguo 29/01/2013, 09:32
 
Fecha de Ingreso: julio-2007
Mensajes: 178
Antigüedad: 17 años, 4 meses
Puntos: 1
Al poner el respaldo de mi bd, esta no conserva los indices autonumericos

Hola amigos, un gusto leerlos nuevamente, hace algunos mese ya que no pasaba por forosDelWeb.

Lo que me trae por aqui es un problema muy pequeño, que me trae de malas y del cual ustedes seguramente conocen su solucion.

Resulta ser que vengo trabajando con una DB en SQL server 2005, tengo un servidor de Produccion y otro de Desarrollo.

Hasta acá todo perfecto. El tema es el siguiente:

Al levantar el respaldo de Producción, en desarrollo (pues lo que busco es una copia exacta de producción) Los indices autonumericos no coinciden, y por ende hay errores en la integridad de mis datos.

Hay alguna forma para "levantar" el respaldo y que sigan manteniendose los indices, o alguna forma de solucionar esto ?

Desde ya muchas gracias y saludos para todos!
  #2 (permalink)  
Antiguo 29/01/2013, 10:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Al poner el respaldo de mi bd, esta no conserva los indices autonumericos

Bueno, lamento decirte que ese problema que tienes es una de las causas por las cuales no es recomendable usar autonuméricos en las bases de datos.
El uso de ese tipo de columnas genera estos problemas de consistencia tanto en las restauraciones de backups, las migraciones y las integraciones de bases.
Infortunadamente no hay un método único, por lo que vas a tener que crear un plan de migraciones que integre los datos existentes con los restaurados.
Puede que existan herramientas específicas, pero tendrás que acudir probablemente al soporte de Microsoft para eso, o de lo contrario te llevará algo de tiempo lograrlo.
Yo he tenido que resolver tres veces ese tipo de problemas, y finalmente sólo pude acudir a las herramientas básicas: Paciencia, método y muuuucho esfuerzo.

Yendo a lo teórico, esa es una de las razones por las que suele ser siempre mejor planear las bases creando las PK en base a lo que el modelo E-R dice: Un atributo propio de cada entidad, que identifique unívocamente a los registros, aunque la PK resultante termine siendo de más de un campo...

En cuanto a cómo lograrlo, lo que te puedo sugerir es generar una base paralela donde cargues el backup y luego crear una serie de rutinas que realicen el cruce de datos entre ambas para ir integrando los datos.
Desgraciadamente es muy probable que debas hacer el matching de algunas tablas de una forma compleja, porque deberas validar los datos de cada entidad sin tomar como referencia las PK, por ejemplo clientes, productos, facturas, etc. Con esto quiero decir que deberás realizar las busquedas mucho más complejas para verificar lo que existe y lo que no, dando las altas corespondientes y actualizando en cascada todas las dependencias...
No te envidio.
Una de las bases con que trabajé tenía 12 Gb de datos y nos llevo más de una semana sólo lograr esas validaciones.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 29/01/2013, 10:37
 
Fecha de Ingreso: julio-2007
Mensajes: 178
Antigüedad: 17 años, 4 meses
Puntos: 1
Respuesta: Al poner el respaldo de mi bd, esta no conserva los indices autonumericos

Que noticias terribles... Para ser sincero, esperaba una respuesta de este tipo. En el momento en que puse esos autonumericos ya sabia que me iba a arrepentir.

Por lo menos me queda el consuelo que en realidad, son solo 3 tablas dentro de la base de datos las que lo poseen.

Podría intentar sacar la autonumeracion y respetar los valores originales. Vere como lo resuelvo.

Te agradezco mucho la ayuda y la explicación clara!

Saludos!

Etiquetas: bd, indices, respaldo, server, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:30.