Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LektsiiNovye.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.92 Mб
Скачать

Восстановление базы данных через интерфейс среды sql Server Management Studio

Во многих случаях самый простой способ восстановить базу данных – это воспользоваться интерфейсом Management Studio, который используя историю создания резервных копий, хранящихся в базе данных msdb, покажет наилучший способ восстановления базы данных. Для этого необходимо:

  • открыть Обозреватель объектов;

  • развернуть экземпляр SQL Server в дереве объектов, и открыть папку Базы данных, и щёлкнуть правой кнопкой мыши на базе данных ДляПрактики. в контекстном меню выбрать команды Задачи – Восстановить - База данных;

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

рис. 17.1. Диалоговое окно Восстановление базы данных

  • на экране должно появиться сообщение, информирующее об успешном восстановлении базы данных;

  • для проверки успешности восстановления необходимо ввести и выполнить следующий код:

USE ДляПрактики; GO SELECT * FROM Порты WHERE СсылкаСтрана = 21;

Восстановление базы данных при простой стратегии резервного копирования с использованием t-sql

Чтобы восстановить базу данных при помощи инструкций T-SQL, используется инструкция RESTORE DATABASE. Синтаксис этой инструкции аналогичен инструкции BACKUP. Необходимо указать имя базы данных и путь к устройству резервного копирования.

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

USE MASTER GO RESTORE DATABASE ДляПрактики FROM DISK='T:\BACKUPS\ADVFULL.BAK'

В процессе этой процедуры восстанавливаются только данные полной резервной копии. После восстановления база данных автоматически переводится в рабочий режим, возвращаясь к исходным параметрам. Если нужно также применить разностную резервную копию, необходимо сообщить SQL Server о том, что не следует переводить базу данных в рабочий режим до завершения полного восстановления, поскольку это сделает невозможным восстановление данных из разностной резервной копии. Для этого используется параметр NORECOVERY. Параметр NORECOVERY должен присутствовать во всех инструкциях RESTORE, за исключением последней в цикле восстановления. Следующий пример демонстрирует использование параметра NORECOVERY при восстановлении данных из полной и разностной резервных копий, сохранённых ранее:

/* Восстановление полной резервной копии*/ USE MASTER GO RESTORE DATABASE ДляПрактики FROM DISK='T:\BACKUPS\ADVFULL.BAK' WITH NORECOVERY /* Восстановление по разностной резервной копии*/ RESTORE DATABASE ДляПрактики FROM DISK='T:\BACKUPS\ADVDIFF.BAK'

Восстановление базы данных при полной стратегии резервного копирования с использованием t-sql

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

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

/*Выполнение резервного копирования записей журнала транзакций */ BACKUP LOG ДляПрактики TO DISK = 'T:\BACKUPS\ADVLOG2.BAK’ WITH INIT, NO_TRUNCATE;

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

После создания резервной копий журнала транзакций, можно использовать инструкцию RESTORE, выполнив восстановление данных из полной резервной копии, а затем из двух резервных копий журнала транзакций. Как и для разностных резервных копий, для всех операций восстановления за исключением последней, используется параметр NORECOVERY. Журнал транзакций восстанавливается при помощи инструкции RESTORE LOG.

/* Переключаемся на базу данных master db */ USE master; GO /* Восстанавливаем данные из полной резервной копии */ RESTORE DATABASE ДляПрактики FROM DISK='T:\BACKUPS\ADVFULL.BAK' WITH REPLACE, NORECOVERY; /* Восстановим данные из первой резервной копии журнала транзакций */ RESTORE LOG ДляПрактики FROM DISK = 'T:\BACKUPS\ADVLOG1.BAK' WITH NORECOVERY; /* Восстановим данные из второй резервной копии журнала транзакций */ RESTORE LOG ДляПрактики FROM DISK = 'T:\BACKUPS\ADVLOG2.BAK';

Параметр REPLACE в инструкции RESTORE DATABASE указывает SQL Server на то, что следует пропустить проверку безопасности и заменить файлы базы данных без дальнейших запросов.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]