La cola del registro de la base de datos "DBName" no ha sido respaldada


Intenté restaurar una base de datos usando la siguiente consulta:

ALTER DATABASE [DatabaseName] SET Single_User WITH Rollback Immediate GO
RESTORE DATABASE DatabaseName FROM DISK = 'C:\DBName-Full Database Backup'
ALTER DATABASE [DatabaseName] SET Multi_User GO

Pero en lugar de restaurar la base de datos, estoy recibiendo este error:

Msg 3159, Nivel 16, Estado 1, Línea 2

La cola del tronco para el no se ha realizado una copia de seguridad de la base de datos "DatabaseName". Use BACKUP LOG WITH NORECOVERY para hacer una copia de seguridad del registro si contiene trabajo que no desea perder. Utilice la cláusula WITH REPLACE o WITH STOPAT del RESTORE sentencia para simplemente sobrescribir el contenido del registro. Msg 3013, Nivel 16, Estado 1, Línea 2 RESTORE DATABASE está terminando anormalmente.

Author: Michael, 2012-09-11

5 answers

El mensaje de error que está recibiendo le dice exactamente lo que necesita hacer si no le importa la base de datos o el registro existente.

RESTORE DATABASE DAtabaseName FROM DISK = 'C:\DBName-Full Database Backup' 
WITH REPLACE

En SQL Server Management Studio (Tareas > Restaurar), puede agregar la opción WITH REPLACE abriendo la página "Opciones" en el lado izquierdo y marcando "Sobrescribir la base de datos existente".

 78
Author: tomfanning,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-10 22:04:53

Para aquellos que están usando Management Studio esto debería funcionar:

introduzca la descripción de la imagen aquí

 21
Author: Adil Malik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-25 12:25:14

Alternativamente, puede cambiar el modelo de recuperación de base de datos a "Simple" en lugar de "Completo".

Haga clic derecho en la base de datos, elija 'propiedades', 'opción', cambie "modelo de recuperación" a "simple".

Entonces lo que has escrito debería funcionar sin producir errores.

 2
Author: saeed khalafinejad,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-19 20:13:42

Alternativamente, puede cambiar el modelo de recuperación de la base de datos a Simple en lugar de Full.

  1. Haga clic derecho en la base de datos
  2. Elija properties-> option
  3. Cambiar recovery model a simple

Entonces lo que has escrito debería funcionar sin producir errores.

Funcionó bien conmigo.

 2
Author: catcher,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-29 17:08:15

Utilice EL REGISTRO DE COPIA DE SEGURIDAD CON NORECOVERY para hacer una copia de seguridad del registro si contiene trabajo no quieres perder.

Utilice la cláusula WITH REPLACE o WITH STOPAT de la instrucción RESTORE para simplemente sobrescriba el contenido del registro.

Realmente, esa es la respuesta. Justo ahí, en el mensaje. ¿Qué quieres hacer? Copia de seguridad de la cola por lo que no se pierde? ¿Reemplazar el registro que no fue respaldado? Tú decides.

 1
Author: Remus Rusanu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-09-11 13:36:44