Skopiuj i zmień nazwę db, abym mógł dołączyć obie kopie

12

Mam bazę danych o nazwie „mysite_db” na serwerze i utworzyłem kopię na moim komputerze lokalnym, która jest również „mysite_db”. Chciałbym dołączyć db (z mojego komputera lokalnego) do serwera, który ma już tę nazwę db. Oznacza to, że muszę zmienić nazwę mojego lokalnego db (chyba też muszę zmienić plik fizyczny). Jestem zagubiony w tym, jak to zrobić. Czy możesz mnie poprowadzić?

Moim celem jest załadowanie 2 baz danych na serwer, na przykład: „mysite_db” i „myNewSite_db”

wibeasley
źródło

Odpowiedzi:

16

Jeśli chcesz używać tego samego katalogu dla swoich plików mdf \ ldf, musisz (fizycznie) zmienić ich nazwę.
1. Odłącz pliki od lokalnego komputera
2. Zmień nazwę plików mdf i ldf
3. Kopiuj \ Przenieś pliki do katalogu serwera, w którym przechowywana jest oryginalna baza danych.
(W moim przykładzie użyłem D: \ Data dla mdf i E: \ Logs dla ldf, zmień ścieżkę przed uruchomieniem skryptu)
4. Użyj tego kodu:

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. Jeśli chcesz zmienić nazwę pliku logicznego, aby była taka sama jak nazwa fizyczna, użyj:
(Zakładając, że oryginalna nazwa pliku logicznego to „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

Powodzenia,
Roi

Roi Gavish
źródło
miło, pracował dla mnie. czyste złoto.
TugboatCaptain
6

Po dołączeniu bazy danych nadaj jej nazwę „myNewSite_db”

wprowadź opis zdjęcia tutaj

Jeśli zapiszesz plik w innym katalogu, nie musisz nawet zmieniać nazwy pliku.

Scott Chamberlain
źródło