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

Restaurar copias de seguridad con MSDE

Estas en el tema de Restaurar copias de seguridad con MSDE en el foro de SQL Server en Foros del Web. Hola, tengo un problema y tras varias horas buscando una solucion he decidido dejar aki el problema a ver si alguien sabe como puedo solucionarlo. ...
  #1 (permalink)  
Antiguo 19/04/2006, 10:35
 
Fecha de Ingreso: marzo-2006
Mensajes: 28
Antigüedad: 18 años, 1 mes
Puntos: 0
Restaurar copias de seguridad con MSDE

Hola, tengo un problema y tras varias horas buscando una solucion he decidido dejar aki el problema a ver si alguien sabe como puedo solucionarlo.

Usando el MSDE...

Creo una base de datos y cuando voy a restaurar la copia de seguridad (restore database NOMBREBD from disk='RutaFichero') me aparece el siguiente error:

------------------------------------------------------------------------
Device activation error. The physical filename 'Ruta\Archivo_Data.mdf' may be incorrect.
[...] 'Archivo_Data' cannot be restored to 'RutaFichero'.
[...]Use WITH MOVE to identify a valid location for the file.
-------------------------------------------------------------------------

Lo que me he dado cuenta es que cuando creo la Base de Datos, en la carpeta 'Microsoft SQL Server\MSSQL\Data' no me crea el fichero acabado en "_Data' mientras que el del log si me lo crea poniendo al final "_log". Es decir, despues de crear la Base de Datos, en la carpeta DATA me aparecen los dos archivos: NombreBD.mdf y NombreBD_log.ldf.

¿Lo correcto no seria NombreBD_Data.mdf y NombreBD_log.ldf ?

Creo que es por ello por lo que a la hora de restaurar la copia, el SQL busca la siguiente estructura: NombreBD_Data.mdf y NombreBD_log.ldf y por eso da el error.

Agradecería cualquier aportacion que me puedan dar.

Muchas Gracias de antemano.

Un Saludo,
  #2 (permalink)  
Antiguo 19/04/2006, 16:14
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
¿En que ruta estaba la BD (.log y .mdf) cuando hiciste el respaldo? (independientemente de si fue ahi o en otra maquina)

Esa ruta tiene que coincidir con la cual quieres colocar ahora. Si no, el mensaje de error te da la solución, usar la clausula WITH MOVE.

Si es el caso e intentas hacer la restauración desde el Enterprise Manager tendrás que pasarte al lado del Query Analyzer para hacerlo.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 20/04/2006, 02:25
 
Fecha de Ingreso: marzo-2006
Mensajes: 28
Antigüedad: 18 años, 1 mes
Puntos: 0
Restaurar Base de Datos con MSDE

Hola, gracias por responder.

A ver, yo estoy trabajando en un solo equipo. Los archivos .mdf y ldf estan en el directorio "C:\Archivos de Programa\Microsfot SQL Server\MSSQL$NombreInstancia\Data" y el archivo .bak de la copia de seguridad lo tengo en "C:" (en la raíz).

Los archivos .mdf y .ldf existen en la carpeta Data del SQL y el comando que utilizo para hacer el Restore es:

restore database NombreBD from disk ='C:\ArchivoCopiaSeguridad'

Entonces el error que me da es el que puse en el anterior mensaje.

Para usar el WITH MOVE, ¿No seria para el caso en el que los archivos .mdf y .ldf no estuvieran en el Directorio "C:\Archivos de Programa\Microsoft SQL Server\MSSQL$NombreInstancia\Data" ?

Lo unico extraño que veo es que cuando creo una base de datos (CREATE DATABASE NombreBD), en la carpeta Data me crea un fichero llamado NombreBD.mdf y NombreBD_log.ldf. Yo creo que lo correcto sería NombreBD_Data.mdf y NombreBD_Log_ldf.
He intentado cambiarle el nombre a estos ficheros pero me sigue apareciendo el mismo mensaje de error.

Un Saludo,
  #4 (permalink)  
Antiguo 20/04/2006, 15:26
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Cita:
Para usar el WITH MOVE, ¿No seria para el caso en el que los archivos .mdf y .ldf no estuvieran en el Directorio "C:\Archivos de Programa\Microsoft SQL Server\MSSQL$NombreInstancia\Data" ?
Si, pero también el nombre de los archivos tiene que permanecer igual. Si tu archivo original lleva el _Data.mdf y por algo la restauración lo intenta poner obtendrás el error.

Prueba la sentencia con WITH MOVE, a ver que sucede:
RESTORE DATABASE tubase
FROM DISK = 'c:\respaldo'
WITH MOVE 'tubase_Data' = 'C:\ruta\tubase.mdf',
'tubase_Log' = 'C:\ruta\tubase.ldf'

Si no estás seguro de que los nombres LOGICOS (no físicos) de los archivos de la base de datos sean tubase_Data y tubase_Log prueba antes:

RESTORE FILELISTONLY
FROM DISK = 'c:\respaldo'
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #5 (permalink)  
Antiguo 21/04/2006, 05:13
 
Fecha de Ingreso: marzo-2006
Mensajes: 28
Antigüedad: 18 años, 1 mes
Puntos: 0
Restaurar Copias de Seguridad con MSDE

Hola, Muchas gracias por tu colaboracion.
He resuelto el problema añadiendo al comando de CREATE DATABASE el nombre del .mdf y .ldf. He forzado que se llamen NombreBD_Data y NombreBD_Log.

Con esto el problema esta resuelto. Muchas gracias por tu ayuda.

Un Saludo desde Canarias.
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 01:17.