Copiar e renomear db para que eu possa anexar as duas cópias

12

Eu tenho um banco de dados chamado 'mysite_db' em um servidor e criei uma cópia na minha máquina local que também é 'mysite_db'. Gostaria de anexar o banco de dados (da minha máquina local) ao servidor que já possui esse nome de banco de dados. Ou seja, eu tenho que mudar o nome do meu banco de dados local (acho que também preciso alterar o arquivo físico). Estou perdido com como fazer isso. Você pode me guiar, por favor?

Meu objetivo é carregar os 2 bancos de dados no servidor, por exemplo: 'mysite_db' e 'myNewSite_db'

Wibeasley
fonte

Respostas:

16

Se você deseja usar o mesmo diretório para seus arquivos mdf \ ldf, será necessário (fisicamente) renomeá-los.
1. Desanexe arquivos do PC local
2. Renomeie os arquivos mdf e ldf
3. Copie \ Mova os arquivos para o diretório do servidor em que o banco de dados original está armazenado.
(No meu exemplo, usei D: \ Data para mdf e E: \ Logs para ldf, altere o caminho antes de executar o 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. Se você deseja alterar o nome do arquivo lógico para ser o mesmo que o físico, use:
(Supondo que o nome do arquivo lógico original fosse "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

Boa sorte,
roi

Roi Gavish
fonte
legal, funcionou para mim. ouro puro.
precisa saber é o seguinte
6

Quando você anexar o banco de dados, atribua a ele o nome "myNewSite_db"

insira a descrição da imagem aqui

Se você salvar o arquivo em um diretório diferente, nem precisará alterar o nome do arquivo.

Scott Chamberlain
fonte