utilizando una sobreescribir seguridad restaurar puede porque otro nombre log hay existente esta error ejecutar distinta datos copia contiene conjunto con como archivo actual sql-server

sql-server - una - restaurar base de datos sql server 2012 con otro nombre



El conjunto de copia de seguridad contiene una copia de seguridad de una base de datos distinta de la existente. (21)

Estoy intentando restaurar un archivo de copia de seguridad de SQL Server para mi base de datos, pero está generando un error como sigue:

El conjunto de copia de seguridad contiene una copia de seguridad de una base de datos distinta de la existente.

Mi base de datos en SQL Server 2008 y el archivo de copia de seguridad están en 2005.

¿Cual puede ser el problema?


system.data.sqlclient.sqlerror: el conjunto de copia de seguridad contiene una copia de seguridad de una base de datos que no es la base de datos existente "Dbname"

Me he encontrado para encontrar el alma

1) ¡No cree una base de datos con el mismo nombre o nombre de base de datos diferente! Importante.

2) clic derecho en la base de datos | Tareas> Restaurar> Base de datos

3) En "Origen de la restauración", seleccione "Desde el dispositivo"

4) Seleccionar archivo .bak

5) Seleccione la casilla de verificación de la base de datos en la vista de cuadrícula a continuación

6) A la base de datos: "Aquí puede escribir el nuevo nombre de la base de datos" (por ejemplo, DemoDB)

7) No seleccione la base de datos existente de DropDownlist

8) Ahora haga clic en el botón Aceptar, creará un nuevo Databse y restaurará todos los datos de su archivo .bak.

Puede obtener ayuda de este enlace, incluso

Espero que ayude a resolver su problema ...


1) Use WITH REPLACE mientras usa el comando RESTORE .

2) Delete la base de datos anterior que está en conflicto y restaure nuevamente utilizando el comando RESTORE .

Compruebe el link para más detalles.


Algunos de ustedes han superado con creces esto. Encontré que esto es extremadamente simple.

1) ¡Cree una base de datos con el mismo nombre que el nombre de la base de datos de su archivo .bak! Importante

2) clic derecho en la base de datos | Tareas> Restaurar> Base de datos

3) En "Origen de la restauración", seleccione "Desde el dispositivo"

4) Seleccionar archivo .bak

5) Seleccione la casilla de verificación de la base de datos en la vista de cuadrícula a continuación

6) Debajo de "Seleccionar una página" a la derecha, seleccione "Opciones"

7) Seleccione la casilla de verificación etiquetada "Conservar la configuración de replicación (CON KEEP_REPLICATION)

Ahora regrese a la página General y haga clic en Aceptar para restaurar la base de datos ... Eso es todo.


Antes de hacer cualquier otra cosa, confirme si su copia de seguridad es completa o diferencial. Si está intentando crear una nueva base de datos a partir de una copia de seguridad diferencial, no importa lo que haga, se encontrará con el error.


El mismo problema conmigo. La solución para mí es:

  1. Haga clic derecho en la base de datos.
  2. Seleccionar tareas, seleccionar restaurar base de datos.
  3. Haga clic en las opciones en el lado izquierdo.
  4. Verifique la primera opción Sobrescriba la base de datos existente (CON REEMPLAZAR).
  5. Vaya a General, seleccione la base de datos de origen y destino.
  6. Haga clic en Aceptar, eso es todo

En las Opciones, cambie el nombre del archivo "Restaurar como" a la nueva base de datos mdf y ldf. Hace referencia a la base de datos fuente .mdf y .ldf.


Enfrenté el mismo problema y encontré la solución haciendo esto, usando SSMS 2014

- Just select the Option Overwrite the existing database(WITH REPLACE)


Es porque los archivos .mdf y .ldf de la base de datos original se ubicaron en quizás c:/programFile/.... y esta información se guarda en la copia de seguridad!

Si crea la misma base de datos en un servidor SQL diferente donde la instalación se encuentra en c:/program Files (x86)/ .... no puede restaurar como de costumbre. .mdf reubicar la ruta de los archivos .mdf y .ldf .

Por lo tanto:

  • Crear una base de datos vacía en el nuevo servidor

  • Haga clic derecho en la Db vacía> Tareas> Restaurar> Base de datos> haga clic en Dispositivo seleccione sus archivos .bak > Seleccione Db para restaurar en

  • haga clic en Archivos en el lado izquierdo> Seleccione "Reubicar todos los archivos en la carpeta"
  • haga clic en Opciones en el sitio izquierdo> haga clic en Sobrescribir

¡Hecho!
¡Espero eso ayude!


Estaba intentando restaurar una base de datos de producción a una base de datos provisional en el mismo servidor.

Lo único que funcionó en mi caso fue restaurar a una nueva base de datos en blanco. Esto funcionó muy bien, no intentó sobrescribir los archivos de producción (lo cual lo haría si simplemente restaurara el archivo de copia de seguridad de producción a la base de datos provisional existente). Luego elimine la base de datos anterior y cambie el nombre: los archivos mantendrán el nuevo nombre temporal, pero en mi caso está bien.

(O, de lo contrario, elimine primero la base de datos provisional y luego puede restaurar a la nueva base de datos con el mismo nombre que la base de datos provisional)


Estoy seguro de que este problema está relacionado con los permisos de archivos y carpetas.


Me había encontrado con un problema similar hoy. Probé todas las soluciones anteriores pero no funcionó. Así que publicar mi solución aquí.

No se olvide de desactivar la copia de seguridad de cola larga antes de restaurar

Espero que ayude a otros también!


Primero crea una base de datos en blanco con el mismo nombre. Entonces ve por la opción de restauración

En Opciones, en el panel izquierdo, no olvides seleccionar

  • Sobrescribir la base de datos existente
  • Preservar la configuración de replicación

Eso es


Puede restaurar a una nueva base de datos, verificar la sintaxis del nombre del archivo, estará en el archivo de registro, para la nueva versión de SQL será un sufijo "_log"

el anuncio verifica la sobrescritura de la base de datos existente en la pestaña de opciones

Fabio


Realicé el trabajo de forma alternativa, utilizando Generar scripts. Eso me funcionó, ya que Backup-Restore no ayudó a resolver el problema debido al mismo error.


Sencillos 3 pasos:

1- Haga clic derecho en la base de datos> Tareas> restaurar> Base de datos

2- Verifica el dispositivo como fuente y selecciona el archivo .bak

3- Haga clic en las opciones y marque estas tres marcas de verificación:

  1. Compruebe Sobrescribir la base de datos existente.
  2. desmarque tomar copia de seguridad de registro de cola antes de restaurar
  3. verificar cerrar Conexión existente a la base de datos de destino.
  4. Otras opciones son realmente opcionales!

Si está utilizando el enfoque de script y tiene un error relacionado con los archivos LDF y MDF, primero puede consultar el archivo de copia de seguridad para los nombres lógicos (y otros detalles) de los archivos en el conjunto de copia de seguridad, utilizando lo siguiente

-- Queries the backup file for the file list in backup set, where Type denotes -- type of file. Can be L,D,F or S -- info: https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-filelistonly-transact-sql RESTORE FILELISTONLY FROM DISK = ''C:/Temp/DB_backup.bak'' GO

Obtendrá resultados similares a los siguientes:

Y luego puedes usar esos nombres lógicos en las consultas:

-- Script assumes you want MDF and LDF files restored on separate drives. Modify for your scenario RESTORE DATABASE DB FROM DISK=''C:/Temp/DB_backup.bak'' WITH REPLACE, MOVE ''DB'' TO ''E:/MSSQL/Data/DB.mdf'', -- "DB" is the mdf logical name from query above MOVE ''DB_log'' TO ''F:/MSSQL/Logs/DB.mdf''; -- "DB_log" is LDF logical name from query above

Puede encontrar más información sobre RESTORE FILELISTONLY en los documentos de SQL Server .


Solo estaba tratando de resolver este problema.

Intenté todo, desde correr como administrador hasta las sugerencias encontradas aquí y en otros lugares; Lo que lo resolvió para mí al final fue comprobar la opción "reubicar archivos" en la pestaña de propiedades de Archivos.

Esperemos que esto ayude a alguien más.


También es importante asegurarse de que el nombre de su base de datos coincida con el nombre de la base de datos en la copia de seguridad que está intentando restaurar. Si no coincide, obtendrá el mismo error.


Tuve que crear una nueva base de datos en mi local para las pruebas y tuve una copia de seguridad de mi prod. Primero creé el db y traté de ejecutar el BAK sobre el nuevo db que produjo este error para mí. Eliminé la base de datos y la restauré mientras obtenía el nuevo nombre de base de datos en la propia pantalla de restauración. El db se creó automáticamente en la restauración.


Yo también me encontré con este problema.

Solución:

  • No cree una base de datos vacía y restaure el archivo .bak en ella.
  • Use la opción ''Restaurar base de datos'' accesible haciendo clic con el botón derecho en la rama "Bases de datos" de SQL Server Management Studio y proporcione el nombre de la base de datos mientras proporciona la fuente para restaurar.
  • También cambie los nombres de los archivos en "Archivos" si la otra base de datos aún existe. De lo contrario, aparece "El archivo ''...'' no se puede sobrescribir. Está siendo utilizado por la base de datos ''yourFirstDb''".

USE [master]; GO CREATE DATABASE db; GO CREATE DATABASE db2; GO BACKUP DATABASE db TO DISK = ''c:/temp/db.bak'' WITH INIT, COMPRESSION; GO RESTORE DATABASE db2 FROM DISK = ''c:/temp/db.bak'' WITH REPLACE, MOVE ''db'' TO ''c:/temp/db2.mdf'', MOVE ''db_log'' TO ''c:/temp/db2.ldf'';