Восстановить базу данных SQL Server на одном компьютере с другим именем

У меня есть:

SQL Server 2008

Имя базы данных: database1

Я взял резервную копию из "database1" почти месяц назад. Теперь, по некоторым причинам, "database1" перепутано в некоторых таблицах.

Итак, я хочу восстановить только те таблицы из моей последней резервной копии.

Я пытаюсь создать другую базу данных с именем "database2" и восстановить ее со старой резервной копией.

Я боюсь восстановить из файла резервной копии, который может быть восстановлен в "database1" , я хочу повторно сохранить только "database2" (что является новым)

Ответ 1

Здесь, где использование T-SQL поможет вам.

  • Выполните "восстановление файла с диска с диска =" в ваш файл резервной копии здесь ". Это даст вам список логических файлов для базы данных из файла резервной копии вместе с их физическими путями.
  • На основе информации, полученной выше, выполните "восстановить базу данных базы данных2 с диска =" ваш файл резервной копии здесь ", переместите" логический файл 1 "в" физическое имя файла 1 ", переместите" логический файл 2 "в" физический файл "name 2 ',...". Убедитесь, что физические пути, которые вы предоставляете здесь, не используются.

Ответ 2

Если вы используете SSMS, вы можете:

1) щелкните правой кнопкой мыши папку "Базы данных"

2) выберите "Восстановить базу данных"

3) Введите любое имя в поле "В базу данных" - это будет имя базы данных

4) Выберите "Из устройства" и найдите файл резервной копии.

Вам может потребоваться указать разные имена физических файлов, выбрав страницу "Параметры" (я не помню, будет ли SQL-сервер автоматически заполнять другое имя файла, если база данных уже существует с именами файлов, содержащимися в резервное копирование.

Ответ 3

Вы можете переименовать существующую базу данных в нечто вроде OriginalDB, а затем создать пустую базу данных с именем database1. Восстановите резервную копию. Теперь вы можете копировать данные из базы данных 1 (от bkp) до OriginalDB. После того, как вы закончите, удалите резервную копию и переименуйте оригинал обратно в Database1