Copiar y renombrar db para poder adjuntar ambas copias

12

Tengo un db llamado 'mysite_db' en un servidor y he creado una copia en mi máquina local que también es 'mysite_db'. Me gustaría adjuntar la base de datos (desde mi máquina local) al servidor que ya tiene este nombre de base de datos. Lo que significa que tengo que cambiar el nombre de mi base de datos local (supongo que también necesito cambiar el archivo físico). Estoy perdido con cómo hacer eso. ¿Puedes por favor guiarme?

Mi objetivo es cargar las 2 bases de datos en el servidor, por ejemplo: 'mysite_db' y 'myNewSite_db'

Wibeasley
fuente

Respuestas:

16

Si desea utilizar el mismo directorio para sus archivos mdf \ ldf, tendrá que cambiarles el nombre (físicamente).
1. Separe los archivos de la PC local
2. Cambie el nombre de los archivos mdf y ldf
3. Copie \ Mueva los archivos al directorio del servidor donde está almacenada la base de datos original.
(En mi ejemplo utilicé D: \ Data para mdf y E: \ Logs para ldf, cambie la ruta antes de ejecutar el script)
4. Use este código:

USE [master]
GO
CREATE DATABASE [myNewSite_db] ON 
( FILENAME = N'D:\Data\myNewSite_db.mdf' ),
( FILENAME = N'E:\Logs\myNewSite_db_log.ldf' )
FOR ATTACH
GO

5. Si desea cambiar el nombre del archivo lógico para que sea el mismo que el físico:
(Suponiendo que el nombre del archivo lógico original fuera "mysite_db")

USE [myNewSite_db]
GO
ALTER DATABASE [myNewSite_db] 
    MODIFY FILE (NAME=N'mysite_db', NEWNAME=N'myNewSite_db')
GO
ALTER DATABASE [myNewSite_db] 
    MODIFY FILE (NAME=N'mysite_db_log', NEWNAME=N'myNewSite_db_log')
GO

Buena suerte
Roi

Roi Gavish
fuente
agradable, funcionó para mí oro puro.
TugboatCaptain
6

Cuando adjunte la base de datos, asígnele el nombre "myNewSite_db"

ingrese la descripción de la imagen aquí

Si guarda el archivo en un directorio diferente, ni siquiera necesita cambiar el nombre del archivo.

Scott Chamberlain
fuente