- •Лабораторная работа №1 Установка именованного экземпляра sql Server 2005.
- •Лабораторная работа №2 Работа со скриптами в sql Server Management Studio sqlCmd.
- •Лабораторная работа №3 Работа с утилитой bcp.Exe в Microsoft sql Server 2005.
- •Лабораторная работа №4 Перенос файлов баз данных.
- •Лабораторная работа №5 Создание базы данных при помощи команды create database. Использование файловых групп для оптимизации работы базы данных.
- •Лабораторная работа №6. Увеличение размера базы данных.Уменьшение размера базы данных.
- •Лабораторная работа №7. Назначение прав на обекты sql Server 2005.
- •Лабораторная работа №8. Шифрование информации в таблицах баз данных sql Server 2005.
- •Лабораторная работа №9. Резервное копирование и восстановление базы данных.
Лабораторная работа №9. Резервное копирование и восстановление базы данных.
Задание:
Переведите базу данных AdventureWorks режим восстановления Full.
Создйте на диске D каталог Backup и произведите в него полное резервное копирование базы данных AdventureWorks. Файл резервной копии должен называться AdventureWorksFull.bkp
Проведите разностное резервное копирование базы данных AdventureWorks. Файл резервной копии должен называться AdventureWorksDiff.bkp
Проведите резервное копирование журнала транзакций базы данных AdventureWorks. Файл резервной копии должен называться AdventureWorksLog.bkp.
Произведите последовательное восстановление всех созданных Вами резервных копий. При этом:
- восстановление должно производиться для новой базы данных AdventureWorks1;
- файлы этой базы даных должны находиться в каталоге D:\AdventureWorks1.
Решение:
В данном решении используются только команды Transact-SQL. Однако все действия можно выполнить и средствами графического интерфейса SQL Server Management Stdio.
К пункту 1 задания - перевод базы данных AdventureWorks режим восстановления Full:
Соответствующая команда может выглядеть так:
ALTER DATABASE AdventureWorks SET RECOVERY FULL;
К пункту 2 задания — проведение полного резервного копирования базы данных AdventureWorks:
Команды на проведение резервного копирования в соответствии с поставленными условиями могут выглядеть так:
USE master;
GO
BACKUP DATABASE AdventureWorks TO DISK = N'D:\backup\AdventureWorksFull.bkp' WITH NOFORMAT, NOINIT, NAME = N'AdventureWorks – Full Database Backup';
GO
К пункту 3 задания — проведение разностного резервного копирования базы данных AdventureWorks:
Код для выполнения разностного резервного копирования может быть следущим:
USE master;
GO
BACKUP DATABASE AdventureWorks TO DISK = N'D:\backup\AdventureWorksDiff.bkp' WITH DIFFERENTIAL, NOFORMAT, NOINIT, NAME = N'AdventureWorks – Differential Backup';
GO
К пункту 4 задания — проведение резервного копирования журнала транзакций базы данных AdventureWorks:
Соответствующий код может быть таким:
USE master;
GO
BACKUP LOG AdventureWorks TO DISK = N'D:\backup\AdventureWorksLog.bkp' WITH NOFORMAT, NOINIT, NAME = N'AdventureWorks – Log Backup';
GO
К пункту 5 задания — восстановление резервных копий в другую базу данных:
Возможный код:
USE master;
GO
RESTORE DATABASE AdventureWorks1 FROM DISK = N'D:\backup\AdventureWorksFull.bkp' WITH NORECOVERY, MOVE N'AdventureWorks_Data' TO N'D:\AdventureWorks1\AdventureWorks_Data.mdf',MOVE N'AdventureWorks_Log' TO N'D:\AdventureWorks1\AdventureWorks_Log.ldf';
GO
RESTORE DATABASE AdventureWorks1 FROM DISK = N'D:\backup\AdventureWorksDiff.bkp' WITH NORECOVERY;
GO
RESTORE LOG AdventureWorks1 FROM DISK = N'D:\backup\AdventureWorksLog.bkp' WITH RECOVERY;
Примечание:
Сделать полное резервное копирование базы данных AdventureWorks можно также с помощью утилиты командной строки sqlmaint:
sqlmaint.exe -S “Имя_Вашего_Сервера“ -U sa -P p@ssw0rd -D “AdventureWorks“ -BkUpDB “D:\Backup“ -BkUpMedia DISK -HtmlRpt "D:\Backup\BackupReport.html"
При этом дополнительно создаётся файл отчёта BackupReport.html
