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

Error al querer restaurar base de datos

Estas en el tema de Error al querer restaurar base de datos en el foro de SQL Server en Foros del Web. Hola a tod@s: Estoy empezando, como quién dice, con bases de datos SQL Server. Me he creado una partición con Windows Server 2003 R2 y ...
  #1 (permalink)  
Antiguo 22/01/2007, 07:54
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Error al querer restaurar base de datos

Hola a tod@s:

Estoy empezando, como quién dice, con bases de datos SQL Server.

Me he creado una partición con Windows Server 2003 R2 y he instalado el SQL Server 2000.

Estoy siguiendo un curso en el que doy y manejo el SQL Server que está instalado en una partición con la letra de unidad I: (por ejemplo).
Y yo, en casa, tengo el SQL Server instalado en una partición con la letra D:.

Vale.
Debido a que las rutas de los archivos generados al crear la base de datos van a ser diferentes (si la base de datos la creo en clase, las rutas empezarán por 'I:...' ; en casa, por 'D:...'), cuando quiero restaurar la copia de seguridad hecha, por ejemplo, en clase me da un 'Error de activación' al ser rutas diferentes y menciona algo llamado 'WITH MOVE' para encontrar una ruta válida para los archivos.

El texto exacto que sale en la pantalla de error es el siguiente:
Cita:
Microsoft SQL-DMO (ODBC SQLState: 420000)

Error de activación de dispositivo. El nombre de archivo físico 'I:\Archivos de
programa\Microsoft SQL Server\MSSQL\data\db_videoclub.mdf' puede ser
incorrecto.
El archivo 'db_videoclub' no se puede restaurar en 'I:\Archivos de
programa\Microsoft SQL Server\MSSQL\data\db_videoclub.mdf'. Utilice WITH MOVE para identificar una ubicación válida para el archivo.
Error de activación de dispositivo. El nombre de archivo físico 'I:\Archivos de
programa\Microsoft SQL Server\MSSQL\data\db_videoclub_log.LDF' puede ser
incorrecto.
El archivo 'db_videoclub_log' no se puede restaurar en 'I:\Archivos de
programa\Microsoft SQL Server\MSSQL\data\db_videoclub_log.LDF'. Utilice WITH MOVE para identificar una ubicación válida para el archivo.
Fin anómalo de RESTORE DATABASE.
¿Alguien sabe qué es eso del 'WITH MOVE'? ¿cómo corregir esto para no importe dónde se haga la copia de seguridad y se pueda restaurar la base de datos independientemente de la letra de la unidad?
¿Es alguna opción a tener en cuenta cuando se realiza la copia de seguridad ó cuando se va a restaurar desde un dispositivo? ¿ó es una forma de restaurar únicamente posible desde el analizador de consultas y no a través del asistente del algo que sólo administrador corporativo?

Espero se haya comprendido el tema...
__________________
Saludos,

zacktagnan.
=================================================
  #2 (permalink)  
Antiguo 23/01/2007, 16:38
Avatar de Carcharhinus  
Fecha de Ingreso: septiembre-2004
Mensajes: 264
Antigüedad: 19 años, 7 meses
Puntos: 0
Re: Error al querer restaurar base de datos

Hola, intenta al momento de la restauracion, mediante el enterprise manager, cuando estes en la ventana de restauración, en la pestaña de OPCIONES, ahi reemplaza la ruta del archivo por la cual vas a reemplazar. En esta pestaña vas a tener las rutas de la base de datos original, lo que debes hacer es escribir la ruta donde se almaceno la que tu creaste y seleccionas la casiila FORCE TO RESTORE OVER EXISITNG DATABASE.
Espero te ayude....
Saludos...
__________________
"Never attribute to malice that which can be adequately explained by stupidity."
  #3 (permalink)  
Antiguo 24/01/2007, 17:26
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Re: Error al querer restaurar base de datos

Vale Carcharhinus, lo probaré.

Otra cosa que me da problemas es que me suele ocurrir que cuando llego a restaurar la base de datos, pierdo el diagrama; lo demás se carga bien pero el diagrama desaparece... ¡¡Y no sé porque pues cuando guardé los archivos ó hice la copia de seguridad el diagrama estaba hecho!!
Entonces ¿qué pasa?
__________________
Saludos,

zacktagnan.
=================================================
  #4 (permalink)  
Antiguo 26/01/2007, 13:33
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Re: Error al querer restaurar base de datos

RESTORE DATABASE tubase
WITH
MOVE 'tubase_Data' TO 'D:\Nuevaruta\tubase_Data.MDF',
MOVE 'tubase_Log' TO 'D:\Nuevaruta\tubase_Log.LDF'
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #5 (permalink)  
Antiguo 30/01/2007, 14:15
Avatar de zacktagnan  
Fecha de Ingreso: abril-2005
Mensajes: 501
Antigüedad: 19 años, 1 mes
Puntos: 3
Re: Error al querer restaurar base de datos

De acuerdo...

Lo que he terminado haciendo es algo parecido a lo tuyo Mithrandir, que encontré buscando en internet...

Código:
IF EXISTS(SELECT NAME FROM SYSDATABASES
WHERE NAME = 'LA_BASE')
BEGIN
	DROP DATABASE LA_BASE;
END
GO

RESTORE DATABASE LA_BASE
FROM DISK = 'G:\_Databases\Backups\LA_BASE.bak'
WITH RECOVERY,
	MOVE 'LA_BASE' TO 'D:\Archivos de programa\Microsoft SQL Server\MSSQL\Data\LA_BASE.mdf', 
	MOVE 'LA_BASE_log' TO 'D:\Archivos de programa\Microsoft SQL Server\MSSQL\Data\LA_BASE_log.ldf'
GO
Esto va bien. Pero si sobre el mismo archivo de copia de seguridad se han realizado varios guardados, tendrá varios contenido y entonces hay que elegir el contenido adecuado desde 'Restaurar >> Desde dispositivos >> Agregar dispositivo >> Ver contenido >> Seleccionar copia de seguridad'.

Por tanto, si en el contenido hay dos referencias y solo la más reciente y última tiene el diagrama, al realizar la restauración con el código expuesto al principio, se carga la primera copia de seguridad guardada, es decir la que no tenía el diagrama. Por eso creo que a veces, por no elegir bien pierdo el diagrama.
Por eso, despúes de restaurar por el código expuesto, hago de nuevo la restauración por el asistente eligiendo el contenido adecuado.
__________________
Saludos,

zacktagnan.
=================================================
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 18:06.