Pregunta

Me he estado golpeando en la cabeza con esta migración de aplicaciones desde hace unos días. Lo que tengo es una antigua aplicación respaldada por MSSQL Server 2000 que se está actualizando a un servidor Windows 2003 que ejecuta el Servidor SMSQL 2005. Sé poco sobre el Servidor SQL pero obviamente no lo suficiente.

Intenté hacer una copia de seguridad de la base de datos en el servidor antiguo yendo a Bases de datos- > [Base de datos] - > Todas las tareas- > Base de datos de respaldo ..., seleccionando 'Completo' y guardando el archivo. Moví ese archivo de copia de seguridad al nuevo servidor e intenté hacer una restauración, pero se quejó diciendo que estaba buscando el archivo .mdf [Base de datos] en la ubicación que estaba en el servidor antiguo.

Entonces traté de hacer una Exportación de Datos, seleccioné la base de datos SQL 2000 local, la apunté a la nueva base de datos SQL 2005 en la otra máquina, y llegué hasta el final y muere quejándose por la forma en que uno de Las tablas se están uniendo.

Intenté hacer un comando 'Generar SQL' en el cuadro 2000 y ejecutarlo bajo SQL 2005. Parece que hay muchas combinaciones externas que usan la sintaxis antigua * = que SQL Server 2005 ya no admite y Al ser una base de datos de proveedores, no tengo idea de cuáles fueron sus verdaderas intenciones cuando configuraron estas tablas.

¿Hay alguna otra forma de intentar migrar esta base de datos?

¿Fue útil?

Solución

El archivo de copia de seguridad tiene el " duro " Ubicación de los archivos de datos almacenados en él. Solo necesitas actualizarlos:

Cuando restaura en 2005, antes de hacer clic en el final " ok " para restaurar (después de haber seleccionado el archivo .bak), vaya a la pestaña de opciones. Esto tendrá las ubicaciones mdf y ldf que estaban en el archivo de copia de seguridad. Cambie estos a directorios legítimos en su nueva máquina.

Otros consejos

Puede separar la base de datos del servidor antiguo, copiar el mdf y el ldf (y cualquier otro archivo relacionado) al servidor del servidor, y luego adjuntar la base de datos al nuevo servidor.

Cuando lo adjunte, SQL Server lo actualizará a una base de datos con formato 2005. Si tiene problemas con la compatibilidad, también puede cambiar eso. En SQL Server Management studio, haga clic con el botón derecho en su base de datos, haga clic en propiedades, haga clic en Opciones y cambie el modo de compatibilidad a 'SQL Server 2000 (80)'.

Como Peter notó, debe cambiar la ruta a una nueva que exista en el nuevo servidor.
Esta foto ayudará:

restore

Un truco que aprendí hace años es hacer clic en el último botón de opción (" Dejar la base de datos en solo lectura ... ") durante un minuto para ver y copiar dónde se encuentran los archivos de datos en el nuevo servidor. No olvide volver a la primera opción antes de restaurar

Crea una copia de seguridad de la base de datos SQL2000 en un archivo. Cree una nueva base de datos en SQL2005 con el mismo nombre y restaure el archivo de respaldo en la nueva base de datos con la opción " forzar la restauración sobre la base de datos existente " y establecer el nivel de la nueva base de datos en " SQL2000 (8.0) " ;.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top