Por qué no se puede restarurar .bak en otro directorio?

Iniciado por 1mpuls0, 23 Enero 2014, 23:51 PM

0 Miembros y 1 Visitante están viendo este tema.

1mpuls0

Hola.

El día de hoy me enfrenté con un inconveniente.
De un servidor A tuve que hacer un backup y después restaurar en un servidor B, no podía, pensaba que el SMBD tenía algún problema o al eliminar la versión anterior de la BD en el servidor B había quedado algún archivo que estuviera provocando el conflicto.

Guardaba el archivo .bak en la ubicación del servidor que estaba utilizando en ese momento (MSSQL10.SQLEXPRESS\MSSQL\Backup)
Revisando en el servidor A observe que el directorio donde se había guardado el respaldo no era el mismo (MSSQL10.MSSQLSERVER\MSSQL\Backup)

Afortunadamente el servidor B también cuenta con el servidor MSSQL10.MSSQLSERVER, lo que hice fue pasar el .bak al directorio de este (MSSQL10.MSSQLSERVER\MSSQL\Backup) e intentar restaurar pero nada, de hecho ni siquiera se mostraba el archivo al buscarlo.



Investigando un poco encontré esto:

Citar
You should verify that the destination directories exist for the database. By default the database files will be restored to the directories from which they came. It's likely that the destination directory doesn't exist because the SQL Server 2005 default location is different than the SQL Server 2008 default location.

You can look at the Options page, "Restore the database files as..." section in the Restore dialog. It contains a list of files that will be restored. Look at the "Restore As" column and verify that the destination directory exists for each file.

If the destination doesn't exist, then change the "Restore As" value to a valid file path. This is known as the MOVE option in the RESTORE DATABASE command.
:http://stackoverflow.com/questions/3479725/restoring-a-backup-with-sql-server

En el servidor A los backup tienen la ubicación:
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup

En el servidor B los backup tienen la ubicación:
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Backup
y
C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup

Pero se trabaja más con el express, la solución más inmediata fue trabajar con MSSQLSERVER.
Sé que en la solución de stackoverflow dice a cerca si no existe el directorio, pero no entiendo, me refiero a que no sé que quiere decir con "restaurar como"

Mi duda es: por qué no es posible restaurar así de simple desde cualquier ubicación, no solamente en los directorios de los servidores, antes de esto pensaba que podía restaurar un .bak incluso colocando el archivo en el escritorio.


Gracias

abc

Toxico

Hola, las rutas de restauración no tiene nada que ver, aunque no has mostrado que mensaje te sale al restaurar la BD.

1.- Verifica que tu backup realmente tenga extensión .bak (si ya se lo pones en el título, pero igual verifícalo).

2.- Lo estás haciendo mal  ;D, la ruta a la que se refiere en stackoverflow puede ser lo siguiente:

2.1.- Cuando realizas un backup de una base de datos (en MSSQL al menos)  este backup guarda como información las rutas donde se encontraban los archivos MDF y LDF del servidor de la base de datos a la cual se estaba realizando el backup.

2.2.- ¿Qué haces para solucionarlo?, tienes que cambiar las rutas de origen por las nuevas rutas de destino y estas tienen que existir.

Te figuro:

a) Selecciona el Archivo.



b) Check en la columna "Restaurar"


c) Dirígete a la sección de opciones, como podrás ver lo marcado en rojo es la ruta que se guarda en el backup de la base de datos, se tiene que cambiar esta ruta.



d) Cambiar la Ruta a una existente.



y bueno con Fe jejeje
solo el principio....