Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПиОБД Бочкарев / Методички (Rus) / Модуль 3 - Аварийное восстановление / m03ex01 - Внедрение стратегии резервного копирования.doc
Скачиваний:
33
Добавлен:
06.02.2016
Размер:
151.55 Кб
Скачать

Упражнение №3: Выполнение разрозненного резервного копирования и восстановления.

Задача №1: Создание скриптов проекта SQL Server Management Studio.

  1. В меню File нажмите New | Project

  2. В диалоговом окне введите информацию, содержащуюся в таблице, которая приведена ниже:

    Property

    Value

    Name

    AW_Piecemeal

    Location

    E:\SQL Server Labfiles\6231A\ Mod03\Labfiles

    Create directory for solution

    Очистить checkbox

  3. В меню Project нажмите New Query

  4. Откроется диалоговое окно Connect to Database Engine, нажмите Connect

  5. В Solution Explorer, нажмите правой кнопкой на SQLQuery1.sql и затем нажмите Rename. ВведитеPiecemealBackups.sql и нажмитеENTER

Задача №2: Создайте БД и изучите структуру

  1. В меню FileнажмитеOpen|File

  2. Перейдите E:\SQL Server Labfiles\6231A\Mod03\Labfiles и затем нажмите Open

  3. Проверьте пути до места расположения файлов

  4. Нажмите Execute

  5. В ObjectExplorer, нажмите правой кнопкой наDatabasesи затем нажмитеRefresh

  6. В ObjectExplorer, щёлкните правой кнопкой по БДAdventureWorks2008R2, а затем нажмитеProperties

  7. Откроется диалоговое окно Database Properties – AdventureWorksTest. На панелиSelect a page нажмитеFilegroups

{ Три файловые группы: PRIMARY, DINAMIC_DATA и STATIC_DATA }

  1. На панели Select a page нажмите Options

  2. Проверьте что модель восстановлении полная ( Recoverymodel–Full)

  3. Нажмите OK

  4. Проверьте таблицы и файловые группы в БД AdventureWorkTest

  5. В меню FileнажмитеOpen|File

  6. Перейдите в E:\SQL Server Labfiles\6231A\Mod03\Labfiles\ListTablesAndFilegroups и затем нажмите Open

  7. Нажмите Execute

  8. На панели результатов, Вы должны увидеть таблицы CustomersиStateнаходятся вPRIMARY,DYNAMIC_DATAиSTATIC_DATAфайл группах

Задача №3: Создание резервного копирования файловых групп для тестирования БД.

  1. В SolutionExplorer, двойным нажатием нажмите наPiecemealBackups.sql

  2. В файле PiecemealBackups.sqlвведите:

    BACKUP DATABASE AdventureWorksTest READ_WRITE_FILEGROUPS TO DISK = ‘C:\AWBackups\AdventureWorksTest_Dynamic_Data.bak’

  3. Нажмите Execute

  4. На панели запросов введите текст приведённый ниже, выделите текст и нажмите Execute:

    RESTORE FILELISTONLY FROM DISK = ‘C:\AWBackups\AdventureWorksTest_Dynamic_Data.bak’

  5. На панели результатов (Results pane) проверьте что резервная копия содержит файловые группы DYNAMIC_DATA и PRIMARY, убедитесь, что каждое значение колонок BackupSizeInBytes и IsPresent относится к файловой группе

  6. Создайте другую файловую группу резервного копирования БД AdventureWorksTestсодержащую файл группуSTATIC_DATA, введя следующее выражение в панель запросов:

    BACKUP DATABASE AdventureWorksTest FILEGROUP = ‘Static_Data’ TO DISK = ‘C:\AWbackups\AdventureWorksTest_Static_data.bak’

  7. Выберите текст, для резервного копирования файловой группы STATIC_DATAи нажмитеExecute

  1. Введите следующий текст в панель запроса, выделите текст и нажмите Execute:

    RESTORE FILELISTONLY FROM DISK = ‘C:\AWBackups\AdventureWorksTest_Static_Data.bak’

  2. 9. На панели результатов (Results pane) проверьте что резервная копия содержит файловые группы DYNAMIC_DATA и PRIMARY, убедитесь, что каждое значение колонок BackupSizeInBytes и IsPresent относится к файловой группе

  3. В меню File нажмите Save PiecemealBackups.sql

Задача №4: Изменение некоторых данных и имитация сбоя БД.

  1. В меню Project нажмите New Query

  2. В QueryWindowвведите следующее и нажмитеExecute:

    USE AdventureWorksTest;

    UPDATE Customer SET FirstName = NULL

  3. Закройте Query Window, выбрав Close из меню File

  4. Нажмите No, когда предложат сохранить изменения

  5. В ObjectExplorer, нажмите правой кнопкой на сервереNY-SQL-01 и затем нажмитеStop

  6. Если появится диалоговое окно UserAccountControl, введите парольPa$$w0rdи нажмитеOK

  7. Когда появится запрос на подтверждение, нажмите Yes

  8. Если будет предложено остановить SQLServerAgent, нажмитеYes

  9. Нажмите Пуск, правой кнопкой нажмите на Мой Компьютер и выберите Проводник

  10. Перейдите в С:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA

  11. Переименуйте AW_DynamicData в AW_DynamicData_Broken

  12. Когда появится запрос на подтверждение, нажмите Continue

  13. Если появится диалоговое окно UserAccountControl, введите парольPa$$w0rdи нажмитеOK

  14. Переименуйте AW_StaticData в AW_StaticData_Broken

  15. Когда появится запрос на подтверждение, нажмите Continue

  16. Если появится диалоговое окно UserAccountControl, введите парольPa$$w0rdи нажмитеOK

  17. В MicrosoftSQLServerManagementStudio, нажмите правой кнопкой на NY-SQL-01 и нажмитеStart

  18. Если появится диалоговое окно UserAccountControl, введите парольPa$$w0rdи нажмитеOK

  19. Когда появится запрос на подтверждение, нажмите Yes

  20. В SQLServerManagementStudio, нажмите правой кнопкой на БДAdventureWorksTestи нажмитеRefresh

  21. Проверьте, что БД AdventureWorksTestнедоступна. Нажмите на БД правой кнопкой и нажмитеProperties. Откроется диалоговое окноError. НажмитеOK

Задача №5: Восстановление файловых групп PRIMARY и DYNAMIC_DATA

  1. В Вашем проекте AW_Piecemeal, нажмите правой кнопкой на Queries в Solution Explorer и затем нажмите New Query

  2. Назовите новый запрос PiecemealRestores.sql

  3. В панели запроса PiecemealRestores, введите следующий код и затем нажмитеExecute:

    BACKUP LOG AdventureWorksTest TO DISK = ‘C:\AWBackups\AdventureWorksTest_Active_Log.bak’ WITH NO_TRUNCATE, NORECOVERY

  4. В меню File нажмите File | Save PiecemealRestores.sql

  5. В панели запроса PiecemealRestores, введите следующий код. Выделите новый код и нажмитеExecute:

    RESTORE DATABASE AdventureWorksTest FILEGROUP=’DYNAMIC_DATA’ FROM DISK = ‘C:\AWBackups\AdventureWorksTest_Dynamic_Data.bak’ WITH PARTIAL, NORECOVERY

  6. В меню File нажмите File | Save PiecemealRestores.sql

  7. В панели запроса PiecemealRestores, введите следующий код. Выделите новый код и нажмитеExecute:

    RESTORE LOG AdventureWorksTest FROM DISK = ‘C:\AWBackups\AdventureWorksTest_Active_Log.bak’ WITH RECOVERY

  8. В панели Object Explorer, нажмите правой кнопкойна БД AdventureWorksTest, а затем нажмите Refresh

  9. Раскройте AdventureWorksTest | Tables | dbo.Customer

  10. Нажмите правой кнопкой на dbo.Customer, затем нажмите SELECT Top 1000 Rows

  11. Убедитесь, что колонка FirstNameявляется недоступной для записи

  12. Нажмите правой кнопкой на dbo.Stateи выберитеSELECTTop1000Rows

  13. Заметьте, что таблица не доступна.

Задача №6: Восстановление файловой группы STATIC_DATA.

  1. В Solution Explorer, дважды нажмите на PiecemealRestores.sql

  2. В панели запроса PiecemealRestores, введите следующий код в уже существующий. Выделите только что введенный код и нажмитеExecute:

    RESTORE Database AdventureWorksTest FILEGROUP=’STATIC_DATA’ FROM DISK = ‘C:\AWBackups\AdventureWorksTest_Static_Data.bak’ WITH RECOVERY

  3. В панели запроса PiecemealRestores, введите следующий код в уже существующий. Выделите только что введенный код и нажмитеExecute:

    RESTORE LOG AdventureWorksTest FROM DISK = ‘C:\AWBackups\AdventureWorksTest_Active_Log.bak’ WITH RECOVERY

  4. В меню File нажмите File | Save PiecemealResotes.sql

  5. Нажмите правой кнопкой dbo.State и затем нажмите SELECT Top 1000 Rows

  6. Обратите внимание, что данные в таблице восстановлены и доступны.