Tengo una copia de seguridad de Database1 de hace una semana. La copia de seguridad se realiza semanalmente en el planificador y obtengo un .bak
archivo. Ahora quiero jugar con algunos datos, así que necesito restaurarlos en una base de datos diferente: Database2 .
He visto esta pregunta: Restaurar la base de datos de SQL Server en la misma PC con un nombre diferente y el paso recomendado es cambiar el nombre de la base de datos original, pero estoy fuera de esa opción ya que estoy en el servidor de producción y realmente no puedo hacerlo.
¿Hay alguna otra forma de restaurarlo Database2
, o al menos, cómo navego por los datos de ese archivo .bak?
Gracias.
ps: la segunda respuesta del enlace anterior parecía prometedora pero sigue terminando con un error:
Restaurar la lista de archivos está terminando anormalmente
fuente
backkup set holds a backup of a database other than existing "tmp" database
, que, entiendo. ¿Debería ser lato
frase el camino físico real deMyTempCopy
?to
es la ubicación de base de datos y registro para la nueva base de datos, ejemplo de actualización anteriorRESTORE DATABASE MyTempCopy FROM DISK='e:\mssql\backup\creditline.bak' WITH REPLACE, RECOVERY, MOVE 'CreditLine' TO 'e:\mssql\MyTempCopy.mdf', MOVE 'CreditLine_log' TO 'e:\mssql\MyTempCopy_log.ldf'
SQL Server 2008 R2:
Para una base de datos existente que desea "restaurar: desde una copia de seguridad de una base de datos diferente, siga estos pasos:
fuente
Para SQL Server 2012, usando Sql Server Management Studio, encontré que estos pasos de la página de Microsoft son útiles para restaurar a un archivo y nombre de base de datos diferente: (ref: http://technet.microsoft.com/en-us/library/ms175510 .aspx )
Tenga en cuenta que es importante establecer los pasos 4 y 7 para no sobrescribir la base de datos existente.
fuente
En realidad, no hay necesidad de restaurar la base de datos en términos nativos de SQL Server, ya que "quiere jugar con algunos datos" y "examinar los datos de ese archivo .bak"
Puede usar ApexSQL Restore : una herramienta de SQL Server que adjunta copias de seguridad de bases de datos SQL comprimidas de forma nativa y nativa y copias de seguridad de registros de transacciones como bases de datos en vivo , accesibles a través de SQL Server Management Studio, Visual Studio o cualquier otra herramienta de terceros. Permite adjuntar una o varias copias de seguridad completas, diferenciales y de registro de transacciones
Además, creo que puede hacer el trabajo mientras la herramienta está en modo de prueba totalmente funcional (14 días)
Descargo de responsabilidad: trabajo como ingeniero de soporte de productos en ApexSQL
fuente
Esto es lo que he reunido de varias publicaciones para copiar una base de datos usando la copia de seguridad y restauración con movimiento para arreglar la ubicación física y sql adicional para arreglar el nombre lógico.
fuente
DECLARE @BackupFiles...
línea necesita una columna adicional:SnapshotURL nvarchar(360)
En realidad, es un poco más simple que restaurar en el mismo servidor. Básicamente, simplemente recorre las opciones de "Restaurar base de datos". Aquí hay un tutorial para ti:
http://www.techrepublic.com/blog/window-on-windows/how-do-i-restore-a-sql-server-database-to-a-new-server/454
Especialmente dado que esta es una restauración que no es de producción, puede sentirse cómodo simplemente probándola sin preocuparse demasiado por los detalles. Simplemente coloque sus archivos SQL donde desee en su nuevo servidor y asígnele el nombre que desee y estará listo.
fuente
Si no existe una base de datos, uso el siguiente código:
fuente
Tengo el mismo error que este tema cuando restauro una nueva base de datos usando una base de datos anterior. (el uso de .bak da el mismo error)
Cambié el nombre de la base de datos anterior por el nombre de la nueva base de datos (igual que esta imagen). Funcionó.
fuente
Aquí se explica cómo restaurar una copia de seguridad como una base de datos adicional con un nombre de base de datos único.
Para SQL 2005 esto funciona muy rápido. Estoy seguro de que las versiones más nuevas funcionarán igual.
Primero, no tiene que desconectar su base de datos original. Pero por razones de seguridad, me gusta. En mi ejemplo, voy a montar un clon de mi base de datos de "facturación" y se llamará "billingclone".
1) Haga una buena copia de seguridad de la base de datos de facturación
2) Por seguridad, desconecté el original de la siguiente manera:
3) Abra una nueva ventana de consulta
**¡IMPORTANTE! ¡Mantenga esta ventana de consulta abierta hasta que haya terminado! ¡Necesita restaurar el db desde esta ventana!
Ahora ingrese el siguiente código:
3) A continuación, en Management Studio, rt haga clic en Bases de datos en el Explorador de objetos, elija "Restaurar base de datos"
4) ingrese un nuevo nombre en el campo "A la base de datos". IE billingclone
5) En Source for Restore, haga clic en "Desde el dispositivo" y haga clic en el botón ... navegar
6) Haga clic en Agregar y navegue hasta su copia de seguridad
7) Ponga una marca de verificación junto a Restaurar (Seleccione los conjuntos de copia de seguridad para restaurar)
8) luego seleccione la página OPCIONES en la esquina superior izquierda
9) Ahora edite los nombres de los archivos de la base de datos en RESTORE AS. Haga esto tanto para la base de datos como para el registro. IE billingclone.mdf y billingclone_log.ldf
10) ahora presiona OK y espera a que se complete la tarea.
11) Presiona actualizar en tu Object Explorer y verás tu nueva base de datos
12) Ahora puede volver a poner en línea su base de datos de facturación. Use la misma ventana de consulta que utilizó para desconectar la facturación. Usa este comando:
¡hecho!
fuente
fuente