Archivos de db
copiando una base de datos sin permisos sysadmin (mssql 2k5 vs 2k)
2007 Aug 06 • 2 comentarios db, mssql, tek
hace poco tuve que hacer una migración de sitio. cambiamos de proveedor de hosting por uno mejor. usamos mssql server 2005. es una lata no tener permisos de sysadmin. no puedes usar el “copy database” (wizard). no puedes bajar los archivos e importarlos en el nuevo servidor.

ese es el grave problema del hosting… siempre dependes de alguien más. así que me fui por el otro lado, hice un script de las tablas y objetos (triggers, índices, etc). lo corrí en la nueva bd. ahí bien. ahora copiar la información. problema 1, debes habilitar el identity insert en cada una de las tablas (no deseas perder los números y las llaves que tienes en la bd, si no habilitas esto, se van a crear nuevas llaves y eso afecta la integridad).
vale, te avientas 20 minutos clicando y habilitando el identity insert (en mi caso 243 tablas).

ves que hay un checkbox diciendo

y la seleccionas… pero oh sorpresa, eso elimina la selección el “Enable Identy Insert”. para cuando te das cuenta ya es muy tarde y tienes que volver a empezar ¿qué pasa si no lo habilitas? pues que es exageradamente tardado, de hecho el mismo software te recomienda que vayas de poquitas en poquitas. pero somos desesperados y además las veces que yo lo intenté, siempre me marcó error.
¿qué es lo más sencillo? instala sql server 2000 (al menos el Enterprise Manager) y usa el mismo wizard (Export).
luego, cuando estás exportando seleccionas la tercera opción

después, no quieres las opciones default 
y por último, seleccionas los objetos que deseas copiar.

obviamente, después hay que revisar, probar, modificar a gusto (si es necesario) y volver a probar hasta que estemos seguros que la BD se copió adecuadamente. es una lástima que el Management Studio del 2005 no tenga la capacidad de generar este tipo de cosas.



