Как скопировать базу данных SQL Server 2008 R2 с одной машины на другую

У меня есть база данных в SQL Server 2008 R2, и я хочу скопировать эту базу данных на другую машину.

Как сделать копию?

И как мне его восстановить?

Спасибо

Ответ 1

Есть, вероятно, больше способов сделать это, но я обычно щелкаю правой кнопкой мыши базу данных и выбираю "Задачи → Резервное копирование..." с типом резервного копирования "Полный". После этого вы можете скопировать созданный файл на ваш целевой компьютер, подключиться к его SQL Server в SQL Server Management Studio, щелкните правой кнопкой мыши папку "Базы данных" и выберите "Восстановить базу данных". Выберите "Устройство" и выберите файл, затем восстановите.
Другим подходом будет script база данных в SQL Server Management Studio (щелкните правой кнопкой мыши базу данных, затем "Задачи → Сгенерировать скрипты..." ). Во время этого процесса будет выполнен шаг под названием "Установить параметры сценариев", где вам нужно будет нажать кнопку "Дополнительно" и внимательно изучить варианты. Вы обязательно захотите выбрать "Данные и схема" для опции "Типы данных для script". Я иногда предпочитаю этот метод, если я действительно хочу, чтобы структуры данных и данные были переданы.

Обновление: Извините, я забыл упомянуть, как восстановить базу данных для параметра сценариев. Я всегда создаю сценарии, выбрав "Сохранить в новом окне запроса" во время шага "Установить параметры сценариев". После создания script просто оставьте его на мгновение.
На целевом сервере создайте новую базу данных с тем же именем, что и для созданных сценариев. Или вы можете создать script для этого на исходном сервере (щелкните правой кнопкой мыши базу данных, выберите "Script База данных как → CREATE TO... → Clipboard" ) и выполните этот script, щелкнув правой кнопкой мыши сервер node в проводнике объектов SSMS, выбрав "Новый запрос", вставив script в окно запроса и выполнив его. Этот второй вариант - лучший выбор, если вам действительно нужна полная копия базы данных, а не только сама информация.
Как только вы спуститесь по одной из этих двух дорог, вы должны создать новую базу данных. Щелкните правой кнопкой мыши эту базу данных в обозревателе объектов и выберите "Новый запрос", затем скопируйте и вставьте script, содержащий структуру и данные базы данных, в новое окно запроса и выполните запрос. Это должно сделать трюк.

Ответ 2

Вы не можете скопировать базу данных на другую машину. Да, вы можете взять резервную копию на тот же компьютер и скопировать его на другую машину и восстановить.

Чтобы выполнить резервное копирование, выполните следующие действия:

  • Щелкните правой кнопкой мыши базу данных, которую вы хотите сделать резервной.
  • Выберите "Задача" → "Назад".
  • В пункте назначения выберите "Добавить".
  • В имени файла нажмите кнопку ... и выберите папку назначения, в которую вы хотите создать резервную копию с именем backupname.bak. Нажмите Ok, Ok и Ok. и дождитесь завершения процесса резервного копирования. Нажмите "ОК" .

Теперь скопируйте этот файл резервной копии в pendrive или любой носитель и вставьте его на другой компьютер и откройте SQL Server 2008 R2

Чтобы восстановить резервную копию, выполните следующие действия:

  • Щелкните правой кнопкой мыши по базам данных.
  • Выберите "Восстановить базу данных".
  • Введите имя базы данных, которое вы хотите восстановить в поле "База данных"
  • Выберите "Из устройства" в источнике для восстановления. Нажмите ...
  • Нажмите кнопку "Добавить", выберите файл резервной копии базы данных, который вы вставили. Нажмите "ОК" , "ОК" .
  • Установите флажок Восстановить в Выбор наборов beckup для восстановления.
  • Включите опцию Проверить Перезаписать существующую базу данных и сохранить параметры репликации (эти поля необходимо проверить только при попытке восстановить базу данных, которая уже находится на этом другом устройстве).
  • Нажмите "ОК" . дождитесь завершения восстановления и нажмите "ОК" .

Скажите, если у вас возникнут какие-либо проблемы.


По коду

Резервное копирование:

USE DATABASE_NAME;
GO
BACKUP DATABASE DATABASE_NAME
TO DISK = 'D:\DATABASE_NAME.Bak'
   WITH FORMAT, MEDIANAME = 'D_SQLServerBackups',
   NAME = 'Full Backup of DATABASE_NAME';
GO

(Если вы хотите поместить резервную копию в любую папку, папка должна существовать до того, как вы сделаете резервную копию.)

Восстановить:

Шаг 1. Извлеките логическое имя файла базы данных из резервной копии.

RESTORE FILELISTONLY
FROM DISK = 'D:BackUpYourBaackUpFile.bak'
GO

Шаг 2: Используйте значения в столбце LogicalName в следующем шаге. ---- Сделать базу данных в режиме одиночного пользователя

ALTER DATABASE YourDB
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE

---- Восстановить базу данных

RESTORE DATABASE YourDB
FROM DISK = 'D:BackUpYourBaackUpFile.bak'
WITH MOVE 'YourMDFLogicalName' TO 'D:DataYourMDFFile.mdf',
MOVE 'YourLDFLogicalName' TO 'D:DataYourLDFFile.ldf'

/Если в заявлении нет ошибки перед тем, как база данных будет находиться в многопользовательском режиме Режим. Если возникла ошибка, выполните следующую команду, которую он преобразует база данных в нескольких пользователях. /

ALTER DATABASE YourDB SET MULTI_USER
GO

Ответ 3

Копирование базы данных с использованием полной резервной копии базы данных не будет копировать транзакции в онлайн-журнале транзакций.

Если это важно, используйте следующие шаги, чтобы отключить базу данных в автономном режиме, скопировать файлы MDF и LDF и прикрепить их:

  • Выберите базу данных в SQL Server Management Studio, щелкните правой кнопкой мыши базу данных и выберите "Свойства". Скопируйте расположение файлов MDF и LDF.

enter image description here

2.Нажмите ОК

3.Чтобы снова щелкнуть базу данных, выберите Задачи, В автономном режиме

enter image description here

4. В проводнике Windows скопируйте файлы MDF и LDF, используя местоположение, найденное в шаге # 1

5.Отложить их в другое место 6. В SQL Server Management Studio щелкните правой кнопкой мыши экземпляр SQL Server и выберите Прикрепить

enter image description here

7. В следующем диалоговом окне нажмите Добавить, найдите скопированные файлы, выберите их и нажмите ОК 8.Измените имя по умолчанию, предлагаемое в поле Прикрепить AS. Укажите здесь новое имя для своей базы данных.

enter image description here

9.Нажмите ОК

Чтобы вернуть онлайн исходную базу данных, щелкните ее правой кнопкой мыши и выберите Задачи, Принесите онлайн

Ответ 4

если вы копируете его в SQL 2008 R2, то все, что вам нужно сделать, это

  • открыть студию управления SQL-сервером
  • выберите свою базу данных
  • щелкните правой кнопкой мыши, перейдите в раздел Задачи → BackUp
  • в окне резервного копирования базы данных нажмите кнопку "Добавить", а затем укажите путь к резервной копии и имя файла нажмите ОК

скопируйте файл резервной копии на любой диск в машине, на который вы хотите восстановить,

  • Открытая студия управления сервером SQL
  • создать новую базу данных
  • щелкните правой кнопкой мыши по вновь созданной базе данных, перейдите в раздел Задачи → Восстановить → База данных
  • в окне восстановления выберите опцию устройства
  • добавить путь к файлу резервной копии
  • нажмите ok

Ответ 5

Ответ Justin выше был почти правильным, это просто щелчок правой кнопкой мыши по базе данных в SSMS и выберите "Задачи"> "Экспорт данных". Этот мастер позволяет дублировать всю базу данных в другое место.