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

Обновлено: 03.07.2024

Как восстановить базу данных SQL Server из резервной копии с помощью команд T-SQL

Команда RESTORE DATABASE — это самый простой и универсальный способ восстановления резервных копий SQL Server, поскольку команды T-SQL работают везде, независимо от того, вводите ли вы их в SQL Server Management Studio, запускаете с помощью утилиты sqlcmd или запускаете из своей программы. Рассмотрим, какие команды используются для восстановления трех типов резервных копий: полных, дифференциальных и резервных копий журнала транзакций.

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

Полные резервные копии содержат всю информацию, необходимую для восстановления базы данных на момент завершения процесса резервного копирования. Резервная копия перезапишет вашу базу данных, если таковая существует, или создаст новую базу данных SQL Server. Предположим, что ваша полная резервная копия хранится в D:\Adventureworks_full.bak, и вы хотите восстановить ее в базе данных Adventureworks. Вам необходимо выполнить следующие команды:

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

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

Разностные резервные копии содержат изменения, произошедшие в базе данных с момента последней полной резервной копии. Последняя разностная резервная копия аккумулирует все изменения, поэтому вам не нужны все предыдущие разностные резервные копии для восстановления базы данных, только последняя. Перед восстановлением разностной резервной копии необходимо сначала восстановить последнюю полную резервную копию с параметром NORECOVERY, а затем последнюю разностную резервную копию с параметром RECOVERY:

Восстановить резервную копию базы данных журнала транзакций SQL Server

Резервные копии журнала транзакций содержат все транзакции, имевшие место между последней резервной копией журнала транзакций (или первой полной резервной копией) и моментом завершения процесса резервного копирования. Вы должны восстановить все резервные копии журнала транзакций, сделанные после последней разностной резервной копии, в той же последовательности, в которой они были созданы. И, очевидно, резервные копии журналов восстанавливаются после того, как вы закончите с полными и дифференциальными резервными копиями (узнайте больше о восстановлении на момент времени):

Как восстановить базу данных из резервной копии с помощью SQL Server Management Studio

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

<р>1. Подключитесь к SQL Server, щелкните правой кнопкой мыши каталог «Базы данных» и выберите «Восстановить базу данных»


2. Нажмите кнопку под разделом "Источник" рядом с "Устройство"
3. В «Выберите устройство резервного копирования» нажмите «Добавить»
4. Выберите файл или файлы резервной копии (.bak), которые вы собираетесь восстановить, затем нажмите «ОК»
5. В окне «Восстановить базу данных» укажите имя базы данных, которую вы восстанавливаете, и нажмите «ОК», чтобы начать

Ваша база данных SQL Server восстановлена.

Как восстановить базу данных SQL Server с помощью SQLBackupAndFTP

Если вы используете SQLBackupAndFTP для создания резервных копий SQL Server, вы можете восстановить их прямо из панели истории:


Чтобы выполнить восстановление на том же сервере, где были созданы резервные копии, в разделе «История и восстановление» SQLBackupAndFTP выберите резервную копию, которую хотите восстановить, нажмите кнопку с точками в этой строке, выберите «Восстановить из резервной копии…» и следуйте инструкциям. .

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

Если вам нужно восстановить другие резервные копии, созданные с помощью SQLBackupAndFTP, стандартной команды T-SQL «CREATE BACKUP», сценария SQL или файла .bacpac, вы можете создать «Задание восстановления», выполнив следующие действия. , чтобы сделать это:

  1. Выберите место для хранения резервных копий
  2. Выберите базу данных для восстановления
  3. Подключитесь к серверу, на который нужно восстановить резервные копии
  4. Нажмите «Выполнить сейчас».

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


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

8 комментариев

Фред Пун
27 сентября 2019 г., 19:39

Интересно, позволяет ли эта программа указать количество резервных копий, которые нужно хранить в папке резервных копий. Кто-нибудь из пользователей этой программы знает ответ? Кажется, я не могу найти настройку для этого. Спасибо!

Патрик Ниден
17 ноября 2019 г., 6:51

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

Аноним
5 июля 2021 г., 9:47

Аноним
3 января 2022 г., 2:21

Аноним
14 июля 2021 г., 14:12

Сэм
18 августа 2021 г., 16:59

Когда вы используете параметр «Восстановить файлы базы данных как» на вкладке «Файлы»?

Алекс
19 августа 2021 г., 7:46

Мохит Шарма
28 февраля 2022 г., 4:33

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

В этом кратком руководстве вы создадите новую базу данных, сделаете ее полную резервную копию, а затем восстановите.

Предпосылки

Для выполнения этого краткого руководства вам потребуется:

Создайте тестовую базу данных

Запустите SQL Server Management Studio (SSMS) и подключитесь к своему экземпляру SQL Server.

Откройте окно "Новый запрос".

Выполните следующий код Transact-SQL (T-SQL), чтобы создать тестовую базу данных.

Обновите узел "Базы данных" в обозревателе объектов, чтобы увидеть новую базу данных.

Создать резервную копию

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

  1. Запустите SQL Server Management Studio (SSMS) и подключитесь к своему экземпляру SQL Server.
  2. Разверните узел "Базы данных" в обозревателе объектов.
  3. Щелкните правой кнопкой мыши базу данных, наведите указатель мыши на Задачи и выберите Резервное копирование. .
  4. В разделе «Назначение» убедитесь, что путь для резервной копии указан правильно. Если вам нужно изменить путь, выберите «Удалить», чтобы удалить существующий путь, а затем «Добавить», чтобы ввести новый путь. Вы можете использовать многоточие для перехода к определенному файлу.
  5. Нажмите "ОК", чтобы создать резервную копию базы данных.

Создать резервную копию SQL

Кроме того, вы можете выполнить следующую команду Transact-SQL для резервного копирования базы данных. На вашем компьютере путь может отличаться:

Подробнее о различных параметрах резервного копирования см. в разделе BACKUP (Transact-SQL).

Восстановить резервную копию

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

Запустите SQL Server Management Studio (SSMS) и подключитесь к своему экземпляру SQL Server.

Щелкните правой кнопкой мыши узел "Базы данных" в обозревателе объектов и выберите "Восстановить базу данных". .

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

Выберите Устройство:, а затем выберите многоточие (. ), чтобы найти файл резервной копии.

Выберите «Добавить» и перейдите туда, где находится ваш файл .bak. Выберите файл .bak и нажмите кнопку ОК.

Нажмите "ОК", чтобы закрыть диалоговое окно "Выбор устройств резервного копирования".

Нажмите OK, чтобы восстановить резервную копию базы данных.

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

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

Очистить ресурсы

Выполните следующую команду Transact-SQL, чтобы удалить созданную базу данных вместе с историей ее резервного копирования в базе данных msdb:

Как восстановить базы данных SQL Server из файла bak? Вот 3 метода, которые вы можете попробовать, и простая альтернатива, которые помогут вам гибко восстановить базу данных из резервной копии.



Автор Delia / Последнее обновление: 1 ноября 2021 г.

Как восстановить базу данных SQL из файла .bak?

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

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

Примечание. Все описанные ниже методы поддерживают только восстановление базы данных из более ранней версии в ту же или более позднюю версию, например, из SQL Server 2012 в 2016. Если вы хотите перенести базу данных в более раннюю версию, обратитесь к этому руководству.

Способ 1. Восстановить базу данных SQL из файла .bak в SSMS

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

<р>1. Щелкните правой кнопкой мыши Базы данных и выберите в меню Восстановить базу данных….

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

<р>2. Во всплывающем окне выберите «Источник» в качестве устройства и щелкните значок …, чтобы добавить файл bak. Если вы не можете найти его, перейдите к пути его сохранения и введите его полное имя (включая .bak), чтобы указать его.

восстановить с устройства

<р>3. Информация о резервной копии будет отображаться в окне «Восстановить базу данных», если проблем нет, затем вы можете нажать «ОК», чтобы восстановить базу данных SQL из файла bak.

 успешно восстановить

Примечания:✎. Если восстановление не удалось из-за того, что «Операционная система вернула ошибку «5 (Доступ запрещен)»…», перейдите на вкладку «Файлы», установите флажок «Переместить все файлы в папку» и повторите попытку. Если вы обнаружите, что ваша база данных SQL застряла в состоянии восстановления, причины могут быть в том, что вы неправильно остановили процесс восстановления, у вас недостаточно места на диске, другие используют эту базу данных или пользователи не закрыли окно запроса после использования, и т. д. Среди них наиболее распространенная причина заключается в том, что вы неправильно использовали параметр «Без восстановления» для восстановления базы данных. Если целевой экземпляр не содержит базу данных, которую вы хотите восстановить, будет автоматически создана новая база данных (с тем же именем), которая получит все данные из файла bak. Поэтому не создавайте и не называйте пустую базу данных в качестве цели, в противном случае вы получите сообщение об ошибке 3154, говорящее, что "резервный набор содержит резервную копию базы данных, отличной от существующей базы данных".

Способ 2. Восстановить базу данных SQL из файла .bak с помощью инструкции T-SQL

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

<р>1. Щелкните New Query, чтобы открыть окно SQLQuery. Введите в него команду восстановления:

Например, если я хочу восстановить базу данных SQL «example» из полной резервной копии «example.bak» в D:\Backup, команда будет такой:

<р>2. Нажмите кнопку «Выполнить», чтобы запустить команду, вы увидите статус резервного копирования в сообщениях ниже.

t-sql восстановить полную резервную копию

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

Для восстановления из разностной резервной копии необходимо заранее восстановить последнюю полную резервную копию с параметром WITH NORECOVERY, поэтому команда будет выглядеть так:

ВОССТАНОВИТЬ БАЗУ ДАННЫХ имя_базы_данных С ДИСКА = 'filepath\имя_файла.bak' С БЕЗ ВОССТАНОВЛЕНИЯ
ПЕРЕХОД
ВОССТАНОВИТЬ БАЗА ДАННЫХ имя_базы_С ДИСК = 'filepath\имя_файла.bak' С ВОССТАНОВЛЕНИЕМ
GO

Примечание. Первый файл bak должен быть файлом полной резервной копии, а второй — файлом дифференциальной резервной копии.

t-sql восстановление из разностной резервной копии

Хвост журнала для базы данных не был скопирован?

Во время восстановления вы можете получить сообщение об ошибке: «Конец журнала для базы данных не был скопирован. Используйте BACKUP LOG WITH NORECOVERY для резервного копирования журнала, если он содержит работу, которую вы не хотите потерять. Используйте предложение WITH REPLACE или WITH STOPAT оператора RESTORE, чтобы просто перезаписать содержимое журнала».

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

<р>1. Сделайте резервную копию журнала транзакций WITH NORECOVERY заранее, а затем попробуйте снова восстановить файл bak.

<р>2. Восстановите базу данных с помощью условия WITH REPLACE или WITH STOPAT.

Способ 3 . Восстановить базу данных SQL из файла bak через командную строку

Кроме того, вы можете использовать командную строку для восстановления базы данных SQL из резервной копии без запуска SSMS — для этого требуется SQLCMD, который поставляется с SQL Server в версии 2014 и более ранних. Если вы используете более поздние версии, загрузите их здесь .

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

<р>1. Нажмите Win + R и введите «cmd» в поле ввода. Нажмите OK, чтобы открыть командную строку.

<р>2. Затем используйте эту команду с собственным именем сервера и путем к файлу:

В моем случае это должно быть:

команда восстановления из полной резервной копии

И если вы хотите восстановить разностную резервную копию с помощью командной строки, вы можете сначала восстановить полную резервную копию С помощью NORECOVERY, а затем восстановить разностную резервную копию с помощью RECOVERY:

SqlCmd -E -S .\MSSQLSERVER_01 -Q «ВОССТАНОВИТЬ БАЗУ ДАННЫХ имя_базы_данных С ДИСК='filepath\filename.bak' БЕЗ ВОССТАНОВЛЕНИЯ» =' путь к файлу\имя_файла.bak' С ВОССТАНОВЛЕНИЕМ”

Примечание. Первый файл bak должен быть файлом полной резервной копии, а второй — файлом дифференциальной резервной копии.

команда восстановления из дифференциальной резервной копии

Подобно предыдущему методу, если вы столкнулись с ошибкой «Конец журнала для базы данных не был скопирован», вы можете заранее выполнить РЕЗЕРВНОЕ КОПИРОВАНИЕ ЖУРНАЛА С NORECOVERY:

Или восстановить базу данных с помощью REPLACE или WITH STOPAT:

SqlCmd -E -S .\MSSQLSERVER_01 -Q «ВОССТАНОВИТЬ БАЗУ ДАННЫХ имя_базы_данных С ДИСКА = 'filepath\filename.bak' С ЗАМЕНОЙ»

Простая альтернатива восстановлению базы данных SQL из резервной копии

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

Это программное обеспечение работает с Windows 10/8.1/8/7/Vista/XP, Windows Server/2003/2008 (R2)/2012 (R2)/2016, Windows SBS 2003/2008/2011, Windows Home Server 2011 ( 32/64-разрядная версия).

Его функция резервного копирования SQL Server поддерживает SQL Server 2005–2019 и позволяет выполнять резервное копирование или восстановление нескольких баз данных одновременно. Вся операция выполняется с помощью простых кликов без каких-либо специальных знаний.

Вот 30-дневная бесплатная пробная версия:

☛ Как делать резервные копии баз данных SQL Server:

<р>1. Правильно установите программное обеспечение и получите контроль над теми клиентскими компьютерами, которыми хотите управлять (конечно, вы можете управлять своим собственным компьютером).

request control

Затем выберите «Резервное копирование SQL Server» на вкладке «Главная».

резервное копирование сервера sql

<р>2. На шаге 1 нажмите + Добавить компьютеры, чтобы обнаружить компьютеры (с базой данных SQL), находящиеся под вашим контролем, а затем выберите один из них для резервного копирования.

добавить компьютер

<р>3. На шаге 2. Нажмите + Добавить, чтобы обнаружить все экземпляры на компьютере, и выберите одну или несколько баз данных для резервного копирования. Вы даже можете выбрать весь экземпляр.

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

<р>4. На шаге 3. Нажмите «Добавить хранилище», чтобы указать общий ресурс или устройство NAS в качестве конца хранилища. Затем запустите резервное копирование.

выберите цель поделиться

Настройки: при необходимости включите уведомление по электронной почте.
Расписание: создайте расписание для запуска резервного копирования один раз/ежедневно/еженедельно/ежемесячно. Полное резервное копирование и дифференциальное резервное копирование также являются необязательными на вкладке «Дополнительно».

☛ Как восстановить базу данных SQL из резервной копии:

<р>1. Созданная задача резервного копирования отображается на вкладке «Задачи». Найдите нужный, нажмите «Дополнительно» в правом верхнем углу и выберите «Восстановить».

восстановить из резервной копии сервера sql

<р>2. Выберите компьютер и его базы данных, которые вы хотите восстановить. Если вы создавали резервные копии несколько раз (полные или дифференциальные), вы также можете выбрать конкретную резервную копию для восстановления в правом верхнем углу.

 выбрать базы данных

<р>3. Вы можете восстановить эти базы данных в исходное или новое местоположение. При втором варианте вы можете напрямую восстанавливать базы данных на другой SQL Server. Затем нажмите «Начать восстановление», чтобы выполнить его.

восстановить в исходное или новое местоположение

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

Заключение

В этой статье представлены 3 метода восстановления базы данных SQL из файла bak. Фактически, вы также можете использовать эффективное стороннее программное обеспечение — AOMEI Centralized Backupper Database Edition, чтобы управлять резервным копированием и восстановлением SQL Server более интуитивно.

Это работает для всех ПК и серверов в локальной сети. И поддерживаемые им типы данных — это не только базы данных SQL, но и компьютерные файлы, операционные системы, разделы и диски. С его помощью вы можете централизованно создавать резервные копии нескольких серверов или ПК и восстанавливать их из любой задачи резервного копирования по мере необходимости.

Программное обеспечение для централизованного резервного копирования

  • Удаленное резервное копирование всех компьютеров
  • Централизованное управление задачами
  • Резервное копирование рабочей станции/сервера
  • Резервное копирование SQL Server
  • Мониторинг в реальном времени




Все еще нужна помощь?

Ваша проблема решена? Если нет, введите запрос в поле поиска ниже.

linkdin

Написано Чаранджитом Кауром

linkdin

Утверждено Раджей Джеган Р.

Обновлено 13 марта 2022 г.

Минимальное чтение 8 минут

Вывод: В этой статье описывается пошаговый процесс восстановления базы данных в SQL Server из файла .bak. Вы можете попробовать восстановить файл резервной копии с помощью SQL Server Management Studio (SSMS), выполнив запрос Transact-SQL (T-SQL) или с помощью команды PowerShell. Если резервная копия недоступна или устарела, или база данных повреждена, Stellar Инструментарий для программного обеспечения MS SQL может пригодиться. Набор инструментов включает инструменты для решения проблем с базой данных SQL Server без длительного простоя. Эти инструменты можно использовать для восстановления данных из поврежденной резервной копии, восстановления поврежденного файла базы данных SQL (.mdf/.ndf) и сброса пароля к файлу базы данных.

Скачать бесплатно Для Windows

Многие администраторы баз данных SQL Server (DBA) постоянно борются с такими ошибками, как внезапное завершение работы, подключение к базе данных или временные ошибки, проблемы с драйверами, атаки вредоносного программного обеспечения и т. д. Такие ошибки могут сделать базу данных непригодной для использования. Хотя в некоторых случаях проблема может решиться перезагрузкой SQL-сервера, использование файла резервной копии (.bak) является наиболее подходящим вариантом для восстановления базы данных SQL (db).

Восстановить базу данных в SQL Server из файла .BAK

Восстановление базы данных SQL Server выполняется для полного, дифференциального, файлового или группового резервного копирования базы данных с помощью SQL Server Management Studio (SSMS), T-SQL или с помощью PowerShell.

Что нужно знать перед восстановлением из резервной копии

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

  • Закройте все активные соединения, прежде чем пытаться восстановить базу данных SQL Server из файла .BAK. Это предотвратит сбой процесса восстановления из-за активных подключений к базе данных.
  • Резервные копии, созданные в последних версиях SQL Server, нельзя восстановить в более ранних версиях SQL Server.
  • Создайте резервную копию активного журнала транзакций перед выполнением полного резервного копирования базы данных. Это связано с тем, что если активный журнал транзакций (также называемый хвостовой частью журнала) становится недоступным, все транзакции в этом журнале будут потеряны.
  • Если вы хотите восстановить базу данных с другого экземпляра сервера, вам потребуется управлять метаданными, чтобы сделать базу данных доступной на другом сервере. Перейдите по этой ссылке для получения дополнительной информации.

Способы восстановления базы данных SQL Server из файла .BAK

Способ 1. Восстановление базы данных SQL с помощью SSMS

Если в вашей системе установлена ​​служба SSMS, выполните следующие действия, чтобы восстановить базу данных SQL из файла резервной копии (.bak):

Шаг 1. Откройте SSMS и подключитесь к экземпляру SQL Server.

Шаг 2. Затем перейдите в обозреватель объектов и щелкните имя сервера, чтобы развернуть дерево серверов.

Шаг 3. Перейдите к базам данных и откройте базу данных, которую вы хотите восстановить, в SQL Server.

Шаг 4. Щелкните правой кнопкой мыши базу данных и выберите "Восстановить базу данных".


Рисунок 1. Параметр восстановления базы данных

Шаг 5. Отобразится окно «Восстановить базу данных». На странице «Общие» в разделе «Источник» выберите любой из следующих параметров:

а. Выберите параметр «База данных», а затем выберите базу данных, которую вы хотите восстановить, из раскрывающегося списка.

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

б. Выберите параметр «Устройство», а затем нажмите многоточие (. ), чтобы найти файл резервной копии.

  • В окне "Выберите устройства для резервного копирования" выберите "Файл" в качестве носителя для резервного копирования, а затем нажмите "Добавить" .
  • Найдите и выберите файл .BAK, который нужно восстановить, а затем нажмите "ОК" .
  • Снова нажмите кнопку "ОК", чтобы вернуться в окно "Восстановить базу данных".

Рисунок 2. Найдите файл резервной копии базы данных SQL

Рисунок 3. Выберите "Добавить", чтобы перейти к файлу .BAK

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

Рисунок 5. Выбранный файл резервной копии в окне Specify Backup

Шаг 6. Имя восстанавливаемой базы данных отображается в поле «База данных» в разделе «Назначение». Кроме того, информация о выбранном файле резервной копии будет добавлена ​​в раздел Наборы резервных копий для восстановления.


Рисунок 6. Резервный файл в окне восстановления базы данных

Введена вся информация, необходимая для восстановления базы данных из файла резервной копии. Вам просто нужно нажать на кнопку OK, чтобы восстановить базу данных. Однако файлы SQL .bak хранят информацию о расположении файлов данных, и в случае возникновения каких-либо проблем с этими файлами, таких как конфликтующие имена файлов данных» или «каталог назначения не существует», может возникнуть ошибка.

Такие проблемы обычно возникают при восстановлении базы данных SQL из файла .BAK, созданного на другой установке SQL Server. Изменение настроек файла на странице «Параметры» может помочь решить любую такую ​​проблему. Для этого выполните следующие действия:

а. Выберите «Параметры» в разделе «Выбрать страницу» .


Рис. 7. Найдите файл резервной копии базы данных SQL

б. На странице параметров выполните следующие действия:

  • В разделе "Параметры восстановления" выберите параметр "Перезаписать существующую базу данных (С ЗАМЕНОЙ)".

Рис. 8. Раздел параметров восстановления

  • В разделе «Состояние восстановления» выберите «Оставить базу данных готовой к использованию, откатив незафиксированные транзакции». Дополнительные журналы транзакций не могут быть восстановлены (ВОССТАНОВЛЕНИЕ С ВОССТАНОВЛЕНИЕМ)». .


Рис. 9. Параметры состояния восстановления

Шаг 7. Чтобы продолжить процесс восстановления, нажмите кнопку ОК.

Шаг 8. Отобразится окно с ходом восстановления.

< бр />

Рисунок 10. Окно «Восстановление процесса в процессе»

Шаг 9. Нажмите OK, когда появится сообщение об успешном завершении восстановления базы данных.

< бр />

Рисунок 11. Сообщение о завершении восстановления базы данных

Ваша база данных SQL будет успешно восстановлена.

Способ 2. Восстановление базы данных сервера sql из файла .bak с помощью T-SQL

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

Шаг 1. Запустите SSMS и подключитесь к экземпляру SQL Server.

Шаг 2. Выберите параметр "Новый запрос".

Шаг 3. В окне редактора запросов выполните любой из следующих операторов RESTORE:

  • Для восстановления всей базы данных из файла .bak используйте следующую команду:

Обязательно замените «DBName» именем базы данных, которую вы хотите восстановить. Кроме того, замените «BackupFilePath» на путь к файлу резервной копии базы данных, а «BackupFileName» — на имя вашего файла .bak.

  • Для восстановления определенного файла из файла .bak используйте команду, похожую на следующую:

Замените "ИмяФайла" именем файла, который вы хотите восстановить.

Способ 3 — восстановление базы данных SQL с заменой PowerShell

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

ВАЖНО! Если у вас есть обновленный файл полной резервной копии базы данных, вы можете эффективно восстановить базу данных, используя описанные выше методы. Но вы не можете выполнить выборочное восстановление базы данных из файла резервной копии. Например, вы можете восстановить одну таблицу (при необходимости) из резервной копии.

Что еще можно сделать для восстановления базы данных SQL Server?

Если ваша база данных SQL повреждена и у вас нет полной резервной копии для восстановления базы данных, вам может помочь Stellar Toolkit для MS SQL. Это комплексное программное обеспечение, которое включает в себя инструменты, помогающие администраторам баз данных решать множество проблем. С помощью инструмента для извлечения резервных копий, доступного в наборе инструментов, вы можете извлечь данные из поврежденного файла резервной копии (.bak). Вы можете использовать инструмент восстановления SQL, чтобы исправить сильно поврежденные файлы данных SQL (.mdf и .ndf) и восстановить все объекты базы данных. Кроме того, инструмент восстановления пароля из набора инструментов может помочь сбросить утерянный/забытый пароль к файлу базы данных.


Заключение

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

Понимание команд T-SQL или шагов по использованию SSMS для восстановления базы данных в SQL Server из файла .bak поможет вам эффективно выполнять восстановление базы данных SQL. Если файл резервной копии недоступен или вы не можете восстановить базу данных из файла, может помочь инструмент для извлечения резервных копий в составе программного обеспечения Stellar Toolkit для MS SQL. Инструмент помогает извлекать и восстанавливать данные из поврежденного файла .bak. Вы также можете использовать другие инструменты, доступные в наборе инструментов, для решения проблем с повреждением базы данных и восстановлением пароля.

В. Восстанавливает ли программа Stellar Repair for MS SQL данные из поврежденного файла .bak?

А. Нет, программа помогает восстановить поврежденный файл базы данных SQL (MDF или NDF) и восстановить данные в новом файле без внесения каких-либо изменений в исходный файл.

Вы можете попробовать использовать средство извлечения резервных копий, доступное в Stellar Toolkit для MS SQL, для извлечения данных из поврежденного файла резервной копии (.bak).

В. Можно ли восстановить разностную резервную копию без полной резервной копии базы данных?

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

В. Можно ли открыть поврежденный файл .bak в SQL Server с помощью командной строки?

А. Мы не рекомендуем использовать командную строку, так как есть вероятность потери данных. Вы можете попробовать Stellar Toolkit для MS SQL, чтобы открыть поврежденный файл .bak в SQL Server.

Читайте также: