Tengo SQL 2012 con SP1 instalado en mi computadora. Hice una copia de seguridad de una base de datos test.bak
.
Tengo una base de datos con el nombre test2
que es la misma base de datos, pero los datos cambiaron.
Quiero restaurar test.bak
sobre la test2
base de datos.
Siempre recibo el error:
Error 3154: el conjunto de copia de seguridad contiene una copia de seguridad de una base de datos distinta de la base de datos existente.
Lo intenté:
Hice clic derecho en
test2 -> Restore database -> From device
Elegí
test.bak
y verifiquéWith Replace
pero recibí el error.Luego intenté hacer clic derecho en
test2 -> Restore file and filegroups
Elegí
test.bak
y verifiquéWith Replace
pero recibí el error.
Puedo eliminar mi base de datos anterior y luego restaurar mi copia de seguridad con el nombre correcto, pero cuando estaba usando SQL 2008, no tuve problemas para restaurar una base de datos existente.
Parece que desde que uso SQL2012, ¡me sale mucho este error!
fuente
1) Usar
WITH REPLACE
mientras se usa elRESTORE
comando.2)
DROP
la base de datos más antigua que está en conflicto y restaurar nuevamente usando elRESTORE
comando.No hay problema con la versión de SQL Server. Como Aaron señaló, también puedo restaurar la base de datos de 2008 a 2012 y las mismas versiones.
fuente
Estás restaurando la base de datos incorrecta. No piense que es "restaurar
test2
con una copia de seguridad detest
", piense "restaurar mi copia de seguridadtest
pero cámbiele el nombre portest2
". Puede elegir la tarea de restauracióntest
y ponertest2
en el campo "A la base de datos:".Como Aaron menciona, aprenda el guión en lugar de confiar en el asistente: es más claro en cuanto a qué va a dónde.
fuente
Todavía puede hacer esto, pero requiere un paso adicional.
Abra el diálogo de restauración, realice sus selecciones habituales según los hábitos de 2008. Si la base de datos original es DB, elija el dispositivo DB.bak para Origen y cambie el Nombre de destino a DBTest. Luego, en Seleccionar una página (esquina superior izquierda), verá General / Archivos / Opciones: elija Archivos. Mira en la cuadrícula. Verá columnas para Nombre de archivo original y Restaurar como nombre de archivo. Amplíe manualmente este último y escriba el nuevo nombre (si el nombre original de la base de datos es DB y desea crear DBTest, cambie .... \ DB.mdf a ... \ DBTest.mdf, etc.)
Esto aceptará su archivo .bak para DB como origen y DBTest como destino. Es posible que también deba ir a la página Opciones y elegir Con reemplazar. Lo necesito por otros motivos, por lo que no puedo probarlo sin esta opción.
fuente
La respuesta correcta, como se señaló, es usar la
WITH REPLACE
opción.Solo quiero señalar que puede obtener el error en la pregunta incluso cuando lo usa
WITH REPLACE
, si intenta restaurar desde una copia de seguridad diferencial (sin la completa).fuente
Espero que esto funcione.
fuente
Detenga su servidor en ejecución y luego restaure db, lo ayudará. :)
fuente