Ms sql восстановить базу из бэкапа в другую базу: Создание и восстановление резервной копии базы данных в Microsoft SQL Server 2008 R2

Следуйте инструкциям по восстановлению базы данных MS SQL с другим именем

Администратор базы данных SQL имеет много должностных обязанностей, связанных с работоспособностью базы данных SQL. Данные базы данных SQL должны оставаться доступными, быстрыми и безопасными. Чтобы сохранить свойства базы данных, администратор должен регулярно делать резервные копии файлов базы данных в отдельном файле BAK. Это уменьшает размер базы данных и позволяет быстрее реагировать на запросы пользователей. Позже, когда пользователю потребуется какая-либо информация из файла резервной копии, администратор может восстановить файл BAK обратно на SQL Server.

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

В обоих методах администратор получит возможность переименовать резервную базу данных и сохранить ее в соответствующем месте.

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Примечание: Чтобы восстановить базу данных в рамках модели полного восстановления, администратор также должен сделать резервную копию активного журнала транзакций, а для восстановления зашифрованных баз данных необходимо разрешение на доступ для сертификата или асимметричного ключа.

Восстановите базу данных с помощью SQL Server Management Studio.

  1. Запустите SQL Server Management Studio и подключитесь к экземпляру SQL Server с надлежащей проверкой подлинности.
  2. В окне обозревателя объектов перейдите к соответствующей базе данных, щелкните ее правой кнопкой мыши и выберите параметр «Восстановить базу данных».
  3. В окне «Восстановить базу данных» вы увидите два варианта выбора источника — «База данных» и «Устройство».
    • База данных. Если вы выберете первый вариант базы данных, то он покажет список всех баз данных, которые были зарезервированы методом резервного копирования msdb.
    • Устройство. Когда вы выбираете опцию «Устройство», затем нажмите кнопку «Обзор», чтобы выбрать файл BAK из его пути сохранения.
  4. После выбора резервной базы данных перейдите в раздел «Назначение» и переименуйте базу данных, указав новое имя, которое вы хотите присвоить восстанавливаемой базе данных. Вы также можете изменить имена файлов журнала вместе с.
  5. Измените имя каталога папки SQL Server, чтобы сохранить в ней файл базы данных. Рекомендуется избегать сохранения новой базы данных в существующей папке базы данных во избежание ненужной путаницы.
  6. В параметре «Восстановить в» выберите параметр «Последняя резервная копия». Вы также можете нажать кнопку «Временная шкала», и появится временная шкала всех резервных копий одной и той же базы данных, сделанных в разное время. Вы можете выбрать кого угодно.
  7. В разделе «Резервные копии для восстановления сетки» выберите доступные файлы резервных копий для данного местоположения. Нажмите «ОК».
  8. В параметрах восстановления есть три варианта на выбор:
    • Перезаписать существующую базу данных.
    • Сохраните настройки репликации.
    • Ограничить доступ к восстановленной базе данных.

    Выберите первый вариант «Перезаписать существующую базу данных», чтобы продолжить восстановление.

  9. В раскрывающемся списке «Состояние восстановления» выберите «восстановить с восстановлением».
  10. В резервной копии Tail-Log установите флажок «Оставить исходную базу данных в состоянии восстановления».
  11. Нажмите OK и начните процесс восстановления.
  12. После завершения процесса восстановления вы можете получить сообщение об успешном восстановлении базы данных.
  13. Найдите базу данных с похожим именем в разделе «Базы данных».

Ограничения метода

  1. Пользователь, восстанавливающий базу данных, должен быть единственным пользователем, имеющим доступ к базе данных.
  2. Для полного восстановления базы данных необходимо также восстановить активные журналы транзакций.
  3. Для восстановления зашифрованной базы данных пользователь должен иметь асимметричный сертификат или сертификат для шифрования базы данных.

Команда T-SQL для восстановления базы данных

Относительно проще восстановить базу данных с помощью команды T-SQL с новым именем, поскольку вы можете выполнить задание только с помощью одной команды.

Прежде чем использовать эту команду, вам необходимо знать физические местоположения файла резервной копии базы данных и файла журнала вместе с их логическими именами. Выполните приведенные ниже шаги, чтобы найти логические имена файлов базы данных.

Шаг 1: Определите логические имена файлов базы данных из файла резервной копии и их физические пути, выполнив команду ВОССТАНОВИТЬ БАЗУ ДАННЫХ команда.

Шаг 2: После получения логических и физических имен файлов базы данных выполните восстановление SQL в другую базу данных, используя ВОССТАНОВИТЬ команда с ДВИГАТЬСЯ вариант. Вы также можете взять пример. В следующем примере вы восстановите данные из ДжейкобВорк2016 файл резервной копии базы данных в JacobWork_Data базу данных вместе с файлами .mdf и .ndf.

Вот команда;

ВОССТАНОВЛЕНИЕ БАЗЫ ДАННЫХ
ОТ JacobWork2016_Backup
С ВОССТАНОВЛЕНИЕМ,
ПЕРЕМЕСТИТЕ «JacobWork2016_Data» В «D:\Jacob\JacobWork_Data.mdf»,
ПЕРЕМЕСТИТЕ «JacobWork2016_Log» В «E:\Jacob\log\JacobWork_Log.ldf»;
ИДТИ

Команда восстановит новую базу данных JacobWork из резервной копии JacobWork2016 вместе с файлами JacobWork_Data и JacobWork_Log.

Ограничения метода

  1. Разрешения SQL для запуска команды T-SQL не назначены
  2. Недостаточно места для восстановления базы данных
  3. Неверный формат файла, путь к исходному файлу
  4. Требуются технические навыки
  5. Неверные имена файлов базы данных
  6. Вероятность ошибок несогласованности базы данных

Подведение итогов

Методы восстановления базы данных SQL с другим именем выполняются быстро с помощью SQL Server Management Studio и команд T-SQL, но есть много предварительных условий и настроек, которые необходимо выполнить пользователю. Один неверный шаг может не только остановить процесс восстановления, но и повредить базу данных или файлы резервных копий.

Во время миграции вы можете столкнуться с несколькими ошибками, такими как неверный путь к исходному файлу, недопустимый формат файла, неправильные имена для файлов MDF и LDF, недостаточно места для восстанавливаемой базы данных или недостаточно прав для доступа или выполнения команды T-SQL. Одна из распространенных ошибок при неудачном восстановлении базы данных SQL Server.

«Не удалось восстановить сервер «имя_сервера».
Эксклюзивный доступ не может быть получен, поскольку база данных используется».

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

Скачать сейчас

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Похожие записи

Руководство администратора Backup Exec 21.

4

Восстановить базы данных SQL Server можно с помощью агента SQL Agent. Базы данных можно восстановить в их исходном расположении или перенаправить в новое. Число используемых заданий зависит от типов заданий резервного копирования, обеспечивающих защиту базы данных. Если для восстановления базы данных используется одно задание, выберите все необходимые наборы данных резервного копирования. Укажите полные и дифференциальные резервные копии, а также резервные копии журналов.

В случае очень объемных баз данных этот процесс может занять несколько часов. При этом Backup Exec сообщает, что передача данных не выполняется и поле Число байт в представлении монитора задания не обновляется. После того как заполнение файлов нулями будет закончено, выполнение задания восстановления продолжится. Это происходит при восстановлении любой базы данных, но заметно только при работе с базами данных очень большого объема.

Восстановление баз данных SQL, содержащих таблицы, оптимизированные для обработки в памяти

При восстановлении баз данных SQL, которые содержат таблицы, оптимизированные для обработки в памяти, убедитесь, что целевой SQL Server имеет достаточную доступную память. Дополнительные сведения можно найти в документации по Microsoft SQL Server

Восстановление зашифрованных баз данных SQL

SQL 2008 поддерживает функцию прозрачного шифрования базы данных (Transparent Database Encryption, TDE), которая позволяет зашифровывать базы данных на уровне набора данных резервного копирования.

При резервном копировании базы данных с поддержкой TDE Microsoft рекомендует сохранять вместе с базой ключи сертификата и ключи шифрования. Без ключей сертификатов и ключей шифрования придется выполнять все операции резервного копирования и восстановления в пределах выбранного экземпляра SQL.

Примечание:

Перенаправление восстановления базы данных с поддержкой TDE с помощью Backup Exec возможно только в том случае, если к целевому экземпляру применены ключи сертификата и ключи шифрования. Если ключи сертификата и ключи шифрования к целевому экземпляру не применялись, выводится ошибка с сообщением о том, что найти сертификат не удалось. См. документацию по Microsoft SQL 2008.

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

Можно указать момент времени, до которого необходимо восстановить транзакции, занесенные в журнал транзакций. После достижения заданного момента времени процесс восстановления транзакций прерывается. Информацию о датах и времени транзакций можно найти в журнале событий клиентского приложения.

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

Как восстановить данные из журналов транзакций SQL до именованной транзакции

Журнал транзакций может применяться для восстановления данных вплоть до указанной транзакции (или метки). После достижения заданной транзакции процесс восстановления транзакций прерывается.

Поскольку существование уникальных имен именованных транзакций необязательно, можно также указать дату и время, после которых следует искать данную именованную транзакцию. Например, если указано, что журнал следует восстановить до именованной транзакции AfternoonBreak, найденной после 12:01 6.02.2000, при выполнении операции восстановления поиск транзакции AfternoonBreak до этой даты и этого времени проводиться не будет. Информацию о датах и времени именованных транзакций можно найти в журнале событий клиентского приложения.

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

Примечание:

В именах транзакций учитывается регистр символов. При указании именованной транзакции проверьте правильность ввода символов в верхнем и нижнем регистре.

Перенаправление восстанавливаемых данных SQL

Можно перенаправить следующие данные:

  • Резервную копию базы данных на другой сервер, в другую базу данных или экземпляр.

  • Дифференциальные резервные копии и резервные копии журналов туда, где восстановлена соответствующая база данных.

  • Базу данных из 32- или 64-разрядной платформы на любую другую платформу.

В операциях перенаправленного восстановления можно использовать как одно, так и несколько заданий восстановления.

Как восстановить базы данных и журналы транзакций SQL

  1. На вкладке Резервное копирование и восстановление правой кнопкой мыши нажмите сервер, для которого требуется восстановить данные, затем нажмите .
  2. Выберите и нажмите кнопку .
  3. Для восстановления данных следуйте инструкциям мастера восстановления.

См. Восстановление главной базы данных SQL.

Восстановить БД SQL Server напрямую из другой БД

спросил

Изменено
10 лет, 5 месяцев назад

Просмотрено
15 тысяч раз

Как восстановить действующую базу данных без предварительного резервного копирования?

Мы можем сделать это из SQL Server Management Studio, но я хочу сделать это с помощью сценария, который я могу запустить как запланированное задание.

  • sql
  • sql-сервер
  • tsql
  • восстановление базы данных

Выберите источник восстановления — другую БД. Чтобы сгенерировать SQL скрипт — нажмите кнопку

1

Обратите внимание: использование SQL Server Management Studio для восстановления базы данных с параметром «Из базы данных», однако, восстанавливает базу данных из существующей резервной копии.

Возможно, вам нужно скопировать базу данных. В этом случае вы должны использовать комбинацию резервного копирования/восстановления, например:

В следующем примере используются оба
Операторы BACKUP и RESTORE для выполнения
копия AdventureWorks2008R2
база данных. Оператор MOVE вызывает
данные и файл журнала для восстановления
в указанные места.
Используется оператор RESTORE FILELISTONLY
определить количество и наименования
файлы в базе данных
восстановлен. Новая копия базы данных
называется TestDB.

 Копия
РЕЗЕРВНАЯ БАЗА ДАННЫХ AdventureWorks2008R2
   К резервным копиям AdventureWorks2008R2;
ВОССТАНОВИТЬ ТОЛЬКО ФАЙЛИСТ
   ИЗ резервных копий AdventureWorks2008R2;
ВОССТАНОВЛЕНИЕ БАЗЫ ДАННЫХ TestDB
   ИЗ резервных копий AdventureWorks2008R2
   С ПЕРЕМЕЩЕНИЕМ 'AdventureWorks2008R2_Data' В 'C:\MySQLServer\testdb.mdf',
   ПЕРЕМЕСТИТЕ 'AdventureWorks2008R2_Log' В 'C:\MySQLServer\testdb.ldf';
ИДТИ
 

Вот пример, как автоматизировать процесс копирования базы данных — Создать копию существующей базы данных SQL Server

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

sql — Создание новой базы данных из резервной копии другой базы данных на том же сервере?

спросил

Изменено
4 месяца назад

Просмотрено
162к раз

Я пытаюсь создать новую базу данных из старой резервной копии базы данных на том же сервере.
При использовании Студия управления сервером SQL и попытка восстановить новую БД из резервной копии, я получаю эту ошибку

System.Data.SqlClient.SqlError: резервный набор содержит резервную копию базы данных
кроме существующей «тестовой» базы данных. (Майкрософт.SqlServer.Smo)

после поиска в Google я нашел этот фрагмент кода

 ВОССТАНОВЛЕНИЕ БАЗЫ ДАННЫХ myDB
 С ДИСКА = 'C:\myDB. bak'
 С ПЕРЕМЕЩЕНИЕМ 'myDB_Data' В 'C:\DATA\myDB.mdf',
ПЕРЕМЕСТИТЕ 'myDB_Log' В 'C:\DATA\myDB_log.mdf'
ИДТИ
 

Мне интересно, не испортятся ли операторы перемещения с базой данных, из которой была сделана резервная копия на этом сервере?

  • sql
  • база данных
  • sql-сервер-2008

2

  • Нажмите всплывающее меню «Восстановить базу данных…», которое появляется, щелкнув правой кнопкой мыши узел «Базы данных» в SQL Server Management Studio.
  • Мастер заполнения с базой данных для восстановления и новым именем.
  • Важно! Если база данных все еще существует, измените имена файлов «Восстановить как» на вкладке «Файлы», чтобы избежать появления сообщения об ошибке «Файлы уже используются, перезапись невозможна».

IDk, почему я предпочитаю это делать:

  • Я создаю пустую целевую базу данных с моими любимыми параметрами.
  • Затем в мастере восстановления «SQL Server Management Studio» я ищу возможность перезаписать целевую базу данных. Он находится на вкладке «Параметры» и называется «Перезаписать существующую базу данных (С ЗАМЕНОЙ)» . Проверь это.
  • Не забудьте выбрать целевые файлы на странице «Файлы».

Вы можете изменить «вкладки» в левой части мастера («Общие», «Файлы», «Параметры»)

2

Можно даже восстановить вообще без создания пустой базы данных.

В Sql Server Management Studio щелкните правой кнопкой мыши Базы данных и выберите Восстановить базу данных…

В диалоговом окне «Восстановление базы данных» выберите исходную базу данных или устройство как обычно.
После выбора исходной базы данных SSMS заполнит имя целевой базы данных на основе исходного имени базы данных.

Затем можно изменить имя базы данных и ввести новое имя целевой базы данных .

При таком подходе вам даже не нужно переходить на вкладку «Параметры» и нажимать «Перезаписать существующую базу данных».