Ситуации, такие как случайное удаление данных, повреждение файла базы данных, вирусная атака и т.д. Однако можно восстановить базу данных на определенный момент времени из резервной копии базы данных.
Восстановление на момент времени (PITR: Point-in-Time Recovery) в SQL Server — это важный процесс, который включает восстановление базы данных на определенный предыдущий момент времени. Эта операция обеспечивает целостность и согласованность данных, минимизируя возможную потерю данных.
Предпосылки восстановления на момент времени в SQL Server
Выполнение восстановления на момент времени в базе данных основано на принципе журналирования транзакций. Когда транзакция выполняется в базе данных SQL Server, подробности изменений, внесенных этой транзакцией, записываются в журнал транзакций. Для выполнения восстановления на момент времени требуется полное резервное копирование базы данных до резервных копий журнала транзакций.
Существует три модели восстановления в SQL Server, но не все они могут помочь вам восстановить базу данных до необходимой вам точки.
Простая модель восстановления: нет резервных копий журнала, только полные резервные копии, поэтому восстановление на определенный момент времени не поддерживается.
Модель полного восстановления: В этом режиме требуются резервные копии журнала транзакций и полные резервные копии, что позволяет восстановить базу данных на любой момент времени позже.
Модель Bulk-Logged: Этот режим требует создания резервных копий журнала транзакций. Он является дополнением к режиму полной восстановления, но не позволяет выполнять восстановление на определённый момент времени.
Для выбора модели восстановления вы можете легко выполнить следующие шаги в SSMS: щелкните правой кнопкой мыши базу данных > выберите Properties > в окне Option выберите Recovery model.
Важно понимать модели восстановления и их роль в восстановлении на определённый момент времени. После выбора подходящей модели восстановления можно переходить к использованию инструментов для выполнения восстановления на определённый момент времени.
В следующем разделе будут рассмотрены три инструмента восстановления, включая SSMS и T-SQL.
Выполнение восстановления на момент времени с помощью SSMS
Используйте SQL Server Management Studio (SSMS), инструмент с графическим интерфейсом пользователя, который можно использовать для управления базами данных и выполнения операций восстановления.
С помощью SSMS пользователи могут легко выбрать точку времени для восстановления, указать расположение файлов резервного копирования и так далее.
Перед выполнением операции восстановления у вас должна быть резервная копия файла. Ниже приведены простые шаги для создания резервной копии.
В SSMS подключитесь к инстансу > разверните базу данных > щёлкните правой кнопкой мыши базу данных > выберите Task > выберите Back Up > Выберите Backup type > Нажмите ОК
Для тех, кому требуются подробные инструкции и дополнительные методы резервного копирования SQL Server, может быть полезно руководство по резервному копированию SQL Server.
После создания резервной копии можно приступить к процессу восстановления. Чтобы восстановить SQL Server на определенный момент времени, выполните следующие шаги:
1. В SSMS подключитесь к инстансу> Разверните базу данных
2. Щёлкните правой кнопкой мыши нужную базу данных > выберите Task > выберите Restore > нажмите Database
3. В окне General укажите Source и Location для восстановления. Вы можете выбрать либо из базы данных, либо с устройства
4. В разделе Destination Database box автоматически заполняется именем базы данных для восстановления. Чтобы изменить имя базы данных, введите новое имя в Database box.
5. В разделе Restore выберите Specific Date и Time > Установите точку во времени, к которой необходимо вернуться > Выберите ОК
Выполнение восстановления на момент времени с помощью Transact-SQL
Еще одним подходом является использование команд Transact-SQL (T-SQL), который является языком программирования SQL Server.
Написав соответствующие операторы T-SQL, вы можете указывать точки восстановления, выполнять операции восстановления для файлов резервного копирования и устанавливать другие параметры восстановления.
Безусловно, выполнение восстановления резервной копии в SQL Server предполагает ряд шагов, которые могут быть сложными. Для подробных инструкций и всестороннего руководства по резервному копированию SQL Server с использованием T-SQL настоятельно рекомендуется обратиться к sql-server-backup-compression. Самое главное, что следует помнить при выполнении восстановления базы данных на определенный момент времени, это всегда иметь полную резервную копию и резервную копию журнала транзакций базы данных.
Для восстановления SQL Server до конкретного момента времени, вы можете следовать этим шагам:
1. Подключитесь к инстансу сервера
2. Нажмите New Query> выполните оператор RESTORE DATABASE с параметром NORECOVERY
3. Восстановите последнюю дифференциальную резервную копию базы данных, если таковая имеется, без восстановления базы данных:
RESTORE DATABASE database_name FROM backup_device WITH NORECOVERY
4. Примените каждую резервную копию журнала транзакций в той же последовательности, в какой они были созданы, указывая время, когда вы собираетесь прекратить восстановление журнала
RESTORE DATABASE database_name FROM <backup_device> WITH STOPAT = time , RECOVERY
Примечание: Обязательно замените "database_name" на фактическое название базы данных, которую вы восстанавливаете, "backup_device" на соответствующее устройство резервного копирования (например, диск или магнитную ленту), а "time" - на конкретное время или точку, которую вы хотите восстановить.
Профессиональное решение для восстановления на момент времени SQL Server
Кроме того, можно использовать сторонние инструменты, такие как Vinchin Backup & Recovery, для восстановления базы данных SQL Server на любой момент времени..
Vinchin Backup & Recovery, профессиональное решение для резервного копирования предприятий, является более простым и удобным, предлагая пользовательский интерфейс и продвинутые функции резервного копирования и восстановления, которые помогают пользователям восстанавливать данные более гибко, поддерживая резервное копирование SQL Server 2019/2017/2016/2014/2012/2008 и других баз данных, таких как MySQL, Oracle Database, PostgreSQL, MariaDB и т. д.
Для выполнения резервного копирования с использованием Vinchin Backup & Recovery в SQL Server следуйте нижеуказанным шагам:
1. Выберите Physical Backup > выберите Database Backup > нажмите Backup > выберите SQL Server > нажмите Next
2. Выберите Backup destination > нажмите Next
3. Выберите Backup strategies. И выберите Full Backup and Log Backup> нажмите Next
4. Нажмите Submit
После успешного создания резервной копии вы можете приступить к процессу восстановления. Для выполнения восстановления SQL Server на определённый момент времени можно следовать этим шагам:
1. Выберите Physical Backup > нажмите Database Backup > нажмите Restore > выберите Reduction Point > нажмите Next
2. Отметьте Target Instance> нажмите Next
3. Настройте Restore Strategy> нажмите Next
4. Выберите Submit
Для Vinchin Backup & Recovery предусмотрён бесплатный пробный период в 60 дней, так что вы можете свободно скачать и протестировать его в своей среде. Если у вас возникнут какие-либо вопросы или опасения, вы можете непосредственно связаться с Vinchin или обратиться к нашим локальным партнёрам. Наша команда будет рада предоставить вам необходимую поддержку и помощь.
Заключение
Наконец, восстановление на определенный момент критично для аварийного восстановления SQL Server, что помогает восстановить базу данных до указанного момента в прошлом при сохранении целостности данных и снижении потерь данных. Методы, такие как SSMS, команды T-SQL и приложения, такие как Vinchin Backup & Recovery, предлагают удобные варианты выполнения этого. Каждый метод имеет свои шаги и преимущества, обеспечивая гибкость для пользователей в выборе подходящего подхода.
поделиться: