Forums Últimos mensajes - Powered by IBM
 

Restore de un backup

15/02/2009 - 16:26 por María | Informe spam
En sql 2000 tengo una BD llamada ACC1.

Quiero duplicarla con sus datos en otra base de datos llamada ACC2.

Al hacer un backup de ACC1 y restaurarla como ACC2 el nombre logico me sigue
siendo ACC1.

Como se cambia para que en la base de datos nueva ACC2 el nombre logico sea
tambien ACC2?


muchas gracias
 

Leer las respuestas

#1 Alejandro Mesa
15/02/2009 - 17:06 | Informe spam
María,

1 - Estas restaurando en otro servidor?
2 - Como estas haciendo la restauracion?

Una db no tiene nombre logico, pero si los archivos que conforman la db. Los
archivos tienen nombre logico y fisico.

Para cambiar el nombre logico de los archivos, puedes usar el comando "alter
database ... modify file". Si quieres cambiar el nombre fisico de los
archivos, lo puedes hacer durente el proceso de restauracion, si usas la
opcion "with move" de la sentencia "restore database".

Veamos un ejemplo.

Actualmente tengo una base de datos llamada Northwind, que solia ser una de
las dbs ejemplo que venian con SQL Server.

Esta es la informacion que tengo:

name: Northwind

archivos:


name: Northwind
fileid: 1
filename: C:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Northwind.mdf

name: Northwind_log
fileid: 2
filename: C:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Northwind_log.mdf

Se que el ejemplo no es justo por completo, puesto que lo he preparado en la
version 2008, que es la que tengo instalada, pero he tratado de no usar
facilidades nuevas.

Quiero restaurar esta db en otra db llamada Northwind2, y quiero cambiar los
nombres logicos y fisicos de los archivos, durante el proceso de restauracion.

USE [master]
GO

BACKUP DATABASE Northwind
TO DISK = 'C:\Temp\Northwind.bak'
WITH INIT;
GO

RESTORE FILELISTONLY
FROM DISK = 'C:\Temp\Northwind.bak';
GO

el mismo
lo contrario
RESTORE DATABASE Northwind2
FROM DISK = 'C:\Temp\Northwind.bak'
WITH
RECOVERY,
MOVE 'Northwind' TO 'C:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Northwind2.mdf',
move 'Northwind_log' TO 'C:\Program Files\Microsoft SQL
Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\Northwind2_log.LDF';
GO

EXEC sp_helpdb 'Northwind2'
GO

ALTER DATABASE Northwind2
MODIFY FILE (NAME = Northwind, NEWNAME = Northwind2);
GO

ALTER DATABASE Northwind2
MODIFY FILE (NAME = Northwind_log, NEWNAME = Northwind2_log);
GO

EXEC sp_helpdb 'Northwind2'
GO

DROP DATABASE Northwind2;
GO


AMB



"María" wrote:

En sql 2000 tengo una BD llamada ACC1.

Quiero duplicarla con sus datos en otra base de datos llamada ACC2.

Al hacer un backup de ACC1 y restaurarla como ACC2 el nombre logico me sigue
siendo ACC1.

Como se cambia para que en la base de datos nueva ACC2 el nombre logico sea
tambien ACC2?


muchas gracias



Preguntas similares