Archivos de mssql

copiando una base de datos sin permisos sysadmin (mssql 2k5 vs 2k)

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.
ScreenShot016.gif

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).

ScreenShot014.gif

ves que hay un checkbox diciendo
ScreenShot015.gif

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
ScreenShot017.gif

después, no quieres las opciones default ScreenShot018.gif

y por último, seleccionas los objetos que deseas copiar.
ScreenShot019.gif

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.