Скопируйте и переименуйте БД, чтобы я мог прикрепить обе копии

12

У меня есть база данных с именем «mysite_db» на сервере, и я создал копию на своей локальной машине, которая также называется «mysite_db». Я хотел бы присоединить БД (с моей локальной машины) к серверу, который уже имеет это имя БД. Это означает, что я должен изменить имя своей локальной базы данных (я думаю, мне также нужно изменить физический файл). Я заблудился, как это сделать. Можете ли вы направить меня?

Моя цель - загрузить на сервер две базы данных, например: «mysite_db» и «myNewSite_db».

wibeasley
источник

Ответы:

16

Если вы хотите использовать один и тот же каталог для ваших файлов mdf \ ldf, вам придется (физически) переименовать их.
1. Отсоедините файлы от локального компьютера.
2. Переименуйте файлы mdf и ldf.
3. Скопируйте \ Переместите файлы в каталог сервера, где хранится исходная база данных.
(В моем примере я использовал D: \ Data для mdf и E: \ Logs для ldf, измените путь перед запуском скрипта)
4. Используйте этот код:

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. Если вы хотите изменить логическое имя файла так, чтобы оно
совпадало с физическим, используйте его (при условии, что исходное логическое имя файла было «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

Удачи
Рой

Рой Гавиш
источник
хорошо, работал для меня. чистое золото.
Буксир капитан
6

Когда вы присоединяете базу данных, дайте ей имя «myNewSite_db»

введите описание изображения здесь

Если вы сохраняете файл в другом каталоге, вам даже не нужно менять имя файла.

Скотт Чемберлен
источник