Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие.doc
Скачиваний:
57
Добавлен:
14.05.2015
Размер:
1.51 Mб
Скачать

5. Восстановление бд (администрированиеSqlServer2000)

Функционирование SQL Server требует определённых за­трат времени на управление ядром БД. Тщательно выполняя все операции администрирования можно оптимизировать время от­вета пользователям и предотвратить многие проблемы.

Контрольные точки (checkpoints) – это функции, которые SQL Server выполняет с целью записи изменений или параметров конфигурации в БД в определённый, подходящий для этого мо­мент времени. Когда контрольная точка выполняется либо вруч­ную, либо в результате естественного процесса, основываемого на событиях сервера, все "грязные" страницы (dirty pages) (т.е. страницы, содержащие обновлённые данные, которые ещё не со­хранены на диске), сохраняются на диске. Без принудительного выполнения контрольные точки обычно инициализируются  ка­ждые 60 секунд. SQL Server откатывает или завершает транзак­ции относительно последней контрольной точки, поэтому за­грузка SQL Server после сбоя требует более длительного вре­мени – он восстанавливает БД до состояния, соответствующего моменту успешного выполнения последней контрольной точки.

Средство проверки целостности данных.DBCC(Database Consistency Checker) – применяется для генерирования подроб­ной информации об объектах БД. Эта утилита обычно работает при двух условиях:

1) следует обеспечить по возможности наименьшую активность, влияющую на SQL Server (могут появляться сообщения об ошиб­ках у пользователей при работе DBCC);

2) часто бывает, необходим монопольный доступ к БД, для чего используют процедуру перевода БД в однопользовательский ре­жим, при этом другие пользователи лишаются возможности ра­боты в системе, пока не закончится проверка.

После включения однопользовательского режима можно выполнить проверку, работает ли БД в наилучшем ре­жиме. После чего выполнить возврат в многопользовательский режим.

Для проверки логической и физической целостности БД, использования памяти, уменьшения размера БД, проверки стати­стик DBСC имеется много различных инструкций. Bcе инструк­ции делятся на категории:

  • сопровождения,

  • состояния,

  • проверки правильности,

  • смешанные.

Инструкция проверка правильности CHECKALLOC вы­зывает остановку системного процесса, если DBCC находит ошибку. При использовании аналогичной инструкции NE­WALLOC системный процесс не останавливается, а продол­жает работу и генерирует отчёт обо всех ошибках, найденных в структуре БД.

При выполнении инструкции проверки правильности CHECKDB DBCC проверяет каждую таблицу и ассоциированые страницы данных, индексы и указатели, что позволяет убедиться в правильности отношений между связанными объектами.

Часто запрашиваемый при создании БД объем дискового пространства больше, чем необходимо. Для уменьшения БД ис­пользуют инструкцию SHRINKDАTABASE, которая работает со страницами.

При работе с SQL Server огромное значение имеет резер­вирование данных. Резервирование БД – это как бы ее снимок в определенный момент времени, а журнал транзакций содержит все изменения с тех пор, как сделан этот снимок. БД необходимо резервировать каждую неделю, а журнал транзакций – еже­дневно. Для этого обычно используют ленту, причем ленты с ко­пиями следует нумеровать. Опытные администраторы исполь­зуют двухнедельный цикл резервирования, т.к. проблема в БД может быть распознана не сразу.

Резервирование БД и журналов транзакций делается путем записи дампа системы на дамп устройства (dump device), которое SQL Server распознает как хранилище информации.

Управление резервной копией информации можно осуще­ствлять через Enterprise Manager. При этом для начала работы системы резервирования:

1) выбрать БД для сохранения.

2) Tools/Backup Database ( или Tasks/ Backup Database);

3) в диалоговом окне Backup на вкладке General выбрать БД для сохранения, дать имя копии, выбрать тип резервной копии:

  • Database - Complete – полная копия;

  • Database Differenfial – сохраняет те части БД, которые из­менялись со времени создания полной копии и незафиксирован­ные транзакции (осуществляется быстрее);

  • Transaction Log – сохраняются изменения в БД;

  • File and Filegroup – если БД большая, то в копию можно включить лишь некоторые файлы БД.

4) Для указания места расположения файла копии в группе Desti­nation нажать кнопку Add, далее выбрать:

  • cохранение копии в файле – тогда указать полный путь и имя;

  • cохранить копии на устройстве, например на ленте.

5) Выбрать один из вариантов:

  • Append to media – добавлять в устройство;

  • Overwrite existing media – переписать устройство.

После создания устройства необходимо выполнить само резервирование. Возможны два варианта:

1) резервирование по необходимости, требует ручного вмеша­тельства при каждом выполнение резервирования.

2) резервирование по расписанию - запись БД в дамп автоматиче­ски.

При выборе стратегии резервирования следует учитывать:

  • обязательное копирование журналов транзакций в проме­жутках между резервированиями БД;

  • резервировать каждую БД, которую нужно защитить;

  • обязательно резервировать главную БД, т.к. она включает всю информацию о других объектах БД в системе.

Типы резервирования: автоматическое (включен флажок Schedule), единовременное (снят флажок). После создания всех установок нажать OK.

Лучшим является регулярное автоматическое резервиро­вание, выполняемое по расписанию. Для создания расписания необходимо включить флажок Schedule, нажать кнопку . В диа­логовом окнеEdit Schedule задать имя и тип расписания:

  • автоматический запуск при запуске службы Agent;

  • запускать каждый раз, когда процессоры находятся в со­стоянии простоя;

  • один раз в заданное время (One Time);

  • периодически по расписанию (Recurring) –задать перио­дичность и время запуска программы резервирования.

Далее вернуться в окно Backup и нажать OK.

Рассмотрим восстановление информации из резервных ко­пий.

При сбое системы SQL сервер автоматически восстанав­ливает целостность БД.

Для восстановления БД, при необходимости, имея резерв­ные копии, необходимо выполнить следующие действия:

  • восстановить главную БД;

  • восстановить последнюю полную копию БД, если она име­ется;

  • восстановить журналы транзакций, зарезервированные с момента получения последней резервной копии БД.

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

Процесс восстановления БД заключается в следующем:

1) Убедиться, что все необходимые файлы имеются: в Enterprise Manager открыть папку Backup Devices, просмотреть свойства Properties необходимого устройства, кнопка View Сontents по­зволит получить сведения о содержимом устройства резервиро­вания.

2) Запретить использование БД всем, кроме владельца sp_dboption <имя БД> 'dbo use only', 'True'.

3) Из контекстного меню для нужной БД выбрать команду Task/Restore Backup. Выбрать один из вариантов восстановле­ния:

  • произвести восстановление БД и журнала транзакций в соот­ветствии с выбранными критериями, например, указать, что информация резервной копии ценна только до опреде­ленного момента времени;

  • восстановление только выбранных файлов или файловых групп;

  • производить восстановление только из определенных уст­ройств (указать устройство).

После указания источника и типа восстанавливаемой копии можно задать на вкладке Options одну из опций:

  • выгружать ленту после каждого восстановления;

  • выдавать дополнительное предупреждение перед началом восстановления каждой копии;

  • осуществить восстановление поверх существующей БД;

  • восстановить БД под другими именами.

Далее нажать ОК для начала процесса восстановления.