Восстановление базы данных для windows

Содержание
  1. Восстановление данных с помощью базы данных восстановления Restore data using a recovery database
  2. Что нужно знать перед началом работы What do you need to know before you begin?
  3. Использование командной консоли Exchange для восстановления данных с помощью базы данных восстановления Use the Exchange Management Shell to recover data using a recovery database
  4. Как проверить, что все получилось? How do you know this worked?
  5. Резервное копирование и восстановление базы данных в MS SQL Server
  6. Типы резервного копирования SQL Server
  7. Полное (Full Backup)
  8. Дифференциальное
  9. Журнал транзакций
  10. Tail-Log
  11. Copy-only
  12. Частичная резервная копия
  13. Резервное копирование файлов и файловых групп
  14. Модели восстановления базы данных SQL Server
  15. Простая модель восстановления
  16. Полная модель восстановления
  17. Восстановление с неполным протоколированием (bulk logged)
  18. Настройка резервного копирования SQL Server с помощью плана обслуживания
  19. Восстановление базы данных SQL Server из резервной копии
  20. Восстановление резервной копии с помощью SQL Server Management Studio
  21. Восстановление базы данных MS SQL Server с помощью T-SQL
  22. Рекомендации и best practice по резервному копированию SQL Server

Восстановление данных с помощью базы данных восстановления Restore data using a recovery database

База данных восстановления представляет собой специальный тип базы данных почтовых ящиков, который позволяет подключать восстановленную базу данных почтовых ящиков и извлекать данные из восстановленной базы данных в рамках операции восстановления. Базы данных восстановления позволяют выполнять аварийное восстановление данных из архива или копии базы данных без воздействия на пользовательский доступ к текущим данным. A recovery database (RDB) is a special kind of mailbox database that allows you to mount and extract data from a restored mailbox database as part of a recovery operation. RDBs allow you to recover data from a backup or copy of a database without disrupting user access to current data.

После создания базы данных восстановления вы можете восстановить в нее базу данных почтовых ящиков, используя приложение резервного копирования или скопировав базу данных и ее файлы журналов в структуру папок базы данных восстановления. После этого можно воспользоваться командлетом New-MailboxRestoreRequest для извлечения данных из восстановленной базы данных. После извлечения данные можно экспортировать в папку или объединить с существующими данными почтового ящика. After you create an RDB, you can restore a mailbox database into the RDB by using a backup application or by copying a database and its log files into the RDB folder structure. Then you can use the New-MailboxRestoreRequest cmdlet to extract data from the recovered database. Once extracted, the data can then be exported to a folder or merged into an existing mailbox.

Дополнительные сведения о задачах управления, связанных с базами данных восстановления (RDB), см. в статье Базы данных восстановления. For additional management tasks related to RDBs, see Recovery databases.

Что нужно знать перед началом работы What do you need to know before you begin?

Предполагаемое время выполнения задачи: 1 минута плюс время на приведение базы данных в состояние чистого отключения и извлечение данных. Estimated time to complete this task: 1 minute, plus the time it takes to put the database into a clean shutdown state and to extract the data.

Для выполнения этих процедур необходимы соответствующие разрешения. Сведения о необходимых разрешениях см. в статье Запись «Восстановление почтового ящика» в разделе Разрешения получателей. You need to be assigned permissions before you can perform this procedure or procedures. To see what permissions you need, see the «Mailbox recovery» entry in the Recipients Permissions topic.

Некоторые приложения резервного копирования позволяют восстановить данные Exchange непосредственно в базу данных восстановления. Система архивации данных Windows Server может восстанавливать в базу данных восстановления только резервные копии на уровне файлов. Она не может использоваться для восстановления резервных копий на уровне приложения в базу данных восстановления. Some backup applications have the ability to restore Exchange data directly to a recovery database. Windows Server Backup can restore only file-level backups to a recovery database. It cannot be used to restore application-level backups to a recovery database.

Базу данных и файлы журнала, содержащие восстановленные данные, необходимо восстановить или скопировать в структуру папок базы данных восстановления. The database and log files containing the recovered data must be restored or copied into the RDB folder structure.

База данных должна находиться в состоянии чистого отключения. Поскольку база данных восстановления представляет собой альтернативное расположение восстановления для всех баз данных, все восстановленные базы данных будут находиться в состоянии неправильного отключения. Для переключения восстановленных баз данных в состояние чистого отключения следует использовать команду Eseutil /R. The database must be in a clean shutdown state. Because an RDB is an alternate restore location for all databases, all restored databases will be in a dirty shutdown state. You must use Eseutil /R to put restored databases into a clean shutdown state.

Читайте также:  Генерация паролей для windows

Использование командной консоли Exchange для восстановления данных с помощью базы данных восстановления Use the Exchange Management Shell to recover data using a recovery database

Скопируйте восстановленную базу данных и ее файлы журнала или восстановите их в расположение, которое будет использоваться для базы данных восстановления. Copy a recovered database and its log files, or restore a database and it log files, to the location you will use for your recovery database.

С помощью программы Eseutil переведите эту базу данных в состояние чистого отключения. В следующем примере EXX — это префикс создания журнала для базы данных (например, E00, E01, E02 и т. д.). Use Eseutil to bring that database into a clean shutdown state. In the following example, EXX is the log generation prefix for the database (for example, E00, E01, E02, and so on).

В следующем примере показан префикс создания журнала E01 и путь базы данных восстановления и файла журнала E:\Databases\RDB1: The following example illustrates a log generation prefix of E01 and a recovery database and log file path of E:\Databases\RDB1:

Создание базы данных восстановления Задайте для базы данных восстановления уникальное имя, но в параметре EdbFilePath введите имя и путь файла базы данных, а расположение восстановленных файлов журнала укажите в параметре LogFolderPath. Create a recovery database. Give the recovery database a unique name, but use the name and path of the database file for the EdbFilePath parameter, and the location of the recovered log files for the LogFolderPath parameter.

В следующем примере показано создание базы данных восстановления, которая будет использоваться для восстановления базы данных DB1.edb и ее файлов журнала, расположенных в папке E:\Databases\RDB1. The following example illustrates creating a recovery database that will be used to recover DB1.edb and its log files, which are located at E:\Databases\RDB1.

Перезапустите службу банка данных Microsoft Exchange: Restart the Microsoft Exchange Information Store service:

Подключите базу данных: Mount the recovery database:

Убедитесь, что подключенная база данных содержит почтовые ящики, которые вы хотите восстановить: Verify that the mounted database contains the mailbox(es) you want to restore:

С помощью командлета New-MailboxRestoreRequest восстановите почтовый ящик или элементы из базы данных восстановления в производственный почтовый ящик. Use the New-MailboxRestoreRequest cmdlet to restore a mailbox or items from the recovery database to a production mailbox.

В следующем примере показано восстановление исходного почтового ящика с идентификатором MailboxGUID 1d20855f-fd54-4681-98e6-e249f7326ddd из базы данных DB1 в целевом почтовом ящике с псевдонимом Morris. The following example restores the source mailbox that has the MailboxGUID 1d20855f-fd54-4681-98e6-e249f7326ddd on mailbox database DB1 to the target mailbox with the alias Morris.

В следующем примере показано восстановление содержимого исходного ящика с отображаемым именем Morris Cornejo из базы данных DB1 в архивном почтовом ящике для Morris@contoso.com. The following example restores the content of the source mailbox that has the display name Morris Cornejo on mailbox database DB1 to the archive mailbox for Morris@contoso.com.

Периодически проверяйте состояние запроса восстановления почтового ящика с помощью командлета Get-MailboxRestoreRequest. Periodically check the status of the Mailbox restore request using Get-MailboxRestoreRequest.

Когда состояние восстановления изменится на «Завершено», уделите запрос, используя командлет Remove-MailboxRestoreRequest. Например: Once the restore has a status of Completed, remove the restore request using Remove-MailboxRestoreRequest. For example:

Как проверить, что все получилось? How do you know this worked?

Чтобы убедиться, что вы успешно восстановили данные почтового ящика, откройте целевой почтовый ящик с помощью приложения Outlook или Outlook Web App и проверьте наличие восстановленных данных. To verify that you have successfully recovered the mailbox data, open the target mailbox using Outlook or Outlook Web App and verify that the recovered data is present.

Читайте также:  Acer v276hl драйвер для windows 10

Возникли проблемы? Задайте вопрос на форумах, посвященных Exchange (Exchange Server, Exchange Online или Exchange Online Protection). Having problems? Ask for help in the Exchange forums. Visit the forums at: Exchange Server, Exchange Online, or Exchange Online Protection.

Резервное копирование и восстановление базы данных в MS SQL Server

В этой статье мы рассмотрим, как настроить резервное копирование баз данных в Microsoft SQL Server, покажем, как восстановить базу данных из резервной копии с помощью SQL Server Management Studio и Transact-SQL. Первая часть статьи посвящена теоретическим аспектам резервного копирование в SQL, во второй на примере мы покажем, как настроить регулярное резервное копирование базы данных MS SQL с помощью плана обслуживания и восстановить базу из резервной копии на примере установленного Microsoft SQL Server 2019.

Требования к плану резервного копирования баз данных SQL Server устанавливает бизнес, учитывая несколько критериев:

  • Допустимый объём потерянных данных (за последний день/час/минуту/секунду);
  • Требования к дисковому пространству и его стоимость;
  • Затраты ресурсов сервера на резервное копирование.

Следует понимать, что с помощью механизмов резервного копирования невозможно добиться резервирования данных в реальном времени. Для этой цели используются другие технологии высокой доступности SQL Server – группы доступности Always On, зеркалирование баз данных или репликация.

Типы резервного копирования SQL Server

Полное (Full Backup)

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

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

Если модель восстановления базы SQL данных установлена как “Полная”, то при восстановлении бекапа вы можете указать параметр “STOPAT”, где указывается время (до секунды) на котором нужно остановить восстановление данных. Например, сотрудник внёс некорректные данные в 14:46:07, с помощью параметра STOPAT вы можете восстановить данные на момент 14:46:06

Дифференциальное

Дифференциальное или разностное резервное копирование — это копирование только тех данных, которые появились с момента последней полной резервной копии.

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

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

Например, если полная резервная копия весит 300 GB, а дифференциальная спустя час работы 5 GB, то спустя сутки это будет 120 GB, что делает использование данного типа копий нерациональным.

Журнал транзакций

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

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

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

Tail-Log

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

Tail-Log бекап рекомендуется делать перед восстановлением копий журнала транзакций, чтобы не потерять транзакции между последним бекапом и текущим моментом времени.

Copy-only

Этот вид бекапа не может служить “базой” для дифференциальных резервных копий и для копий журнала транзакций. Copy-only бекап не нарушает текущую цепочку резервных копий (полный-> дифференциальный или полный -> копии журналов транзакций) и используется только в том случае, если вам нужно снять полную резервную копию, не задевая текущую цепочку бекапов.

За исключением этих нюансов – ничем не отличается от обычной полной копии.

Частичная резервная копия

Partial backup этот тип резервной копии используется для того, чтобы снять копии с read-only файловых групп. На практике используется редко.

Резервное копирование файлов и файловых групп

Используется для снятия резервных копий определенных файлов или файловых групп.

Модели восстановления базы данных SQL Server

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

Читайте также:  Windows 10 amd issues

Простая модель восстановления

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

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

При использовании этой модели восстановления, следующий функционал SQL Server недоступен:

  • Доставка журналов транзакций
  • Always On
  • Point-In-Time восстановление
  • Резервные копии журнала транзакций

Полная модель восстановления

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

Это самая “надежная” модель восстановления, при аварийном сбое можно вы сможете восстановить все транзакции, кроме тех, которые не успели завершиться при аварии.

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

Восстановление с неполным протоколированием (bulk logged)

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

  • SELECT INTO
  • BULK INSERT и BCP
  • INSERT INTO SELECT
  • Операции с индексами (CREATE INDEX, ALTER INDEX REBUILD, DROP INDEX)

В остальном эта модель работает аналогично полной модели восстановления.

Настройка резервного копирования SQL Server с помощью плана обслуживания

Планы обслуживания SQL Server это самый распространенный способ настройки регулярного резервного копирования.

Рассмотрим настройку резервного базы данных на SQL Server копирования по плану:

  • Полная резервная копия каждые 24 часа
  • Копия журнала транзакций – каждые 30 минут

В SSMS (SQL Server Management Studio) перейдите в раздел Management -> Maintenance Planes и запустите -> мастер создания плана обслуживания (Maintenance Plan Wizard).

Укажите имя плана и выберите режим “Separate schedules for each task”.

Выберите операции, которые нужно сделать в этом плане обслуживания:

  • Back Up Database (Full)
  • Back Up Database (Transaction Log)

Используйте следующую последовательность операций:

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

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

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

Нажмите Next и аналогично создайте расписание резервного копирования для журнала транзакций.

Опционально можно указать файл для ведения лога плана обслуживания.

Завершение настройки плана обслуживания SQL Server.

Выполните план обслуживания вручную и проверьте журнал.

Как вы видите была создана полная резервная копия базы данных SQL Server и следом копия журнала транзакций. На этом настройка резервного копирования закончена.

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

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

Восстановление резервной копии с помощью SQL Server Management Studio

Запустите SSMS, щелкните по разделу Database и выберите пункт Restore Database.

Выберите базу данных. В окне появится список резервных копий, зарегистрированных в SQL Server для этой базы данных.

Для примера, воспользуемся Point-In-Time восстановлением и выберем момент, на который мы хотим восстановить базу данных. Нажмите Timeline.

Выберите опцию “Close existing connections to destination database”, если ваша база данных находится в статус Online

Нажмите ОК. После этого база данных восстановится на выбранный момент времени.

Восстановление базы данных MS SQL Server с помощью T-SQL

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

USE [master]
ALTER DATABASE [TestDatabase2] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
BACKUP LOG [TestDatabase2] TO DISK = N’E:\MSSQL15.NODE2\MSSQL\Backup\TestDatabase2_LogBackup_2020-02-17_15-39-43.bak’ WITH NOFORMAT, NOINIT, NAME = N’TestDatabase2_LogBackup_2020-02-17_15-39-43′, NOSKIP, NOREWIND, NOUNLOAD, NORECOVERY, STATS = 5
RESTORE DATABASE [TestDatabase2] FROM DISK = N’E:\MSSQL15.NODE2\MSSQL\Backup\full.bak’ WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 5
RESTORE LOG [TestDatabase2] FROM DISK = N’E:\MSSQL15.NODE2\MSSQL\Backup\trans.bak’ WITH FILE = 1, NORECOVERY, NOUNLOAD, STATS = 5
RESTORE LOG [TestDatabase2] FROM DISK = N’E:\MSSQL15.NODE2\MSSQL\Backup\trans.bak’ WITH FILE = 2, NOUNLOAD, STATS = 5, STOPAT = N’2020-02-17T15:38:23′
ALTER DATABASE [TestDatabase2] SET MULTI_USER
GO

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

Дальше выполняется tail-log бекап, затем восстанавливается полный бекап и следом восстанавливаются бекапы журнала транзакций. Обратите внимание на параметр STOPAT, база данных восстановиться на момент 15:38:23

Рекомендации и best practice по резервному копированию SQL Server

Оцените статью