|
Программирование >> Программирование баз данных
До тех пор пока применяется модель восстановления базы данных Simple, возможность создания резервной копии журнала исключена. Чтобы перейти к использованию другой модели восстановления, щелкните правой кнопкой мыши на обозначении базы данных AdventureWorks, выберите команду Properties и откройте вкладку Options; в языке T-SQL для этой цели применяется системная хранимая процедура sp dboption. Даже краткие размышления на эту тему позволяют понять, что указанное условие вполне оправдано, поскольку журнал должен быть всегда свободен от каких-либо зафиксированных транзакций. Следует также отметить, что резервное копировани£ вполне может осуществляться даже в то время, когда в базе данных работают пользователи. СУБД SQL Seruer способ на учитывать изменения, внесенные с момента начала резервного копирования, поскольку в этой СУБД точно регистрируется позиция в журнале, с которой началось резервное копировани£, и эта позиция используется в качестве отправной точки для всего остального резервирования. Модели восстановления в предьщущих разделах рассматривались основные области применения моделей восстановления, а теперь мы можем определить само понятие модели восстановления. Напомним, что в главе 12, посвященной транзакциям, речь шла о предназначении журнала транзакций. Кратко можно отметить, что журнал транзакций позволяет не только отслеживать ход вьшолнения транзакций в целях обеспечения отката транзакций и поддержки неразрывности операций, но и восстанавливать данные вплоть до той точки во времени, в которой произошло аварийное завершение работы системы. Рассмотрим в качестве примера базу данных, эксплуатируемую в банке. Предположим, что последняя полная резервная копия была создана шесть часов тому назад и с тех пор непрерывно в течение шести часов осуществляются операции зачисления и списания денежных средств. Если в этот момент произойдет аварийное завершение работы системы, то врад ли кому-то понравится идея восстановить последнюю резервную копию шестичасовой давности и потерять таким образом всю информацию о финансовых операциях, выполненных за истекший период. Это означает, что необходимо обеспечить не только создание резервной копии, но и сохранение всех данных, полученных со времени создания этой копии. Ведение журнала транзакций предоставляет возможность выполнить так называемую операцию наката, которая предусматривает повтор всех транзакций, зафиксированных в базе данных со времени получения последней полной или дифференциальной резервной копии. При условии, что имеются и файлы резервной копии данных, и файлы журнала транзакций, появляется возможность восстановить состояние базы данных вплоть до момента аварийного завершения работы системы. Модель восстановления определяет, в течение какого времени ведется запись журнала и какая информация в нем фиксируется; предусмотрены три варианта ведения журнала, описанные ниже. Full. Этот вариант соответствует своему назначению; при его применении в журнал записывается информация обо всех операциях. При использовании этой модели не должна происходить какая-либо потеря данных в случае аварийного завершения работы системы, при условии, что имеется резервная копия данных, а также доступны все файлы журнала транзакций, созданные со времени получения этой резервной копии. Если какой-либо из журналов отсутствует или содержит искажения в данных, то имеется возможность восстановить все данные, полученные вплоть до времени сохранения последнего неповрежденного журнала. Но следует помнить, что записываются данные обо всех операциях, а это означает, что при наличии большого количества обновлений или вновь введенных данных объем пространства, который потребуется в системе для хранения такого журнала, может оказаться весьма значительным. Bulk-Logged. Эта модель восстановления может условно рассматриваться как упрощенный вариант полного восстановления. При использовании опции Bulk-Logged запись в журнал информации об обычных транзакциях осуществляется так же, как и при использовании модели полного восстановления, а информация об операциях массового копирования записывается не в полном объеме. Результатом применения указанной модели восстановления становится то, что в случае аварийного завершения работы системы восстановленная резервная копия будет содержать информацию обо всех изменениях на страницах данных, не относящихся к массовым операциям (таким как массовый импорт данных или создание индекса), поэтому необходимо вьшолнить все массовые операции повторно. Тем не менее в пользу применения этого метода восстановления свидетельствует то, что в последней версии производительность массовых операций стала намного выше. Но все же, несмотря на высокую производительность, применение операций указанного типа связано с определенным риском возникновения сбоев, и об этом следует помнить, выбирая метод восстановления. Simple. При использовании модели восстановления Simple журнал транзакций применяется исключительно для поддержки транзакций в ходе их осуществления. Регулярно проводится очистка журнала транзакций, и в ходе этого из журнала фактически удаляется информация обо всех завершенных транзакциях или транзакциях, в которых был выполнен откат (в действительности осуществляемые при этом действия являются более сложными, но в конечном итоге приводят к получению указанного результата). Таким образом, формируется удобный и насыщенный информацией журнал, который меньше по сравнению с двумя предыдущими вариантами и часто обеспечивает более высокую производительность, но этот журнал практически непригоден для восстановления, если происходит аварийное завершение работы системы. Из этого следует вывод, что для базы данных производственного назначения не следует применять какую-либо другую модель восстановления, кроме полной. Восстановление Безусловно, задача восстановления является обратной по отношению к задаче резервного копирования. После получения резервной копии базы данных эту копию сравнительно несложно восстановить либо для воссоздания разрушенной базы данных, либо для получения ее копии в другом месте. Наиболее простой задачей является восстановление резервной копии в исходном месте. Для этого необходимо перейти к базе данных, которую требуется восстановить, и щелкнуть на ее названии правой кнопкой мыши; затем остается только выбрать команды Tasks Restore, чтобы открыть диалоговое окно Restore Database (рис. 24.16). ig Rrfresh О ScbeAie Scnpt Help Deslination for festoie Select oi type the name of a rtsw qi extsthg dstabe for your reetote cfMrdtion To database: Accc4Jhtrg To a points time: [Moat f ecent possfctc Source for restore - I Accounlting Specify tlw source and locabor of Ьаскцр sets lo rwlore, ® From ddtabase: о From device Sdect the backup sels to restcpe: SCHWEITZER Conneclion: Vie connection procerHes Rea* Restore Name ICompcren [Type [Servw Database Posiion Accounting-. Database Full ECHWEIT.,. Accounting 1 Caned Puc. 24.16. Диалоговое окно Restore Database Если задача заьсяючается лишь в том, чтобы взять существующую резервную копию и перекрыть с ее помощью базу данных, на основе которой была получена эта резервная копия, то никаких сложностей не возникает. Достаточно щелкнуть на кнопке ОК, и восстановление произойдет без каких-либо проблем. Восстановление в другом месте Задача немного усложняется, если восстановление должно быть выполнено не в том месте, из которого получена резервная копия. Дело в том, что в процессе создания резервной копии регистрируется имя базы данньгх, из которой извлекается копируемая информация, но, что еще более важно, запоминается обозначение пути (путей) к физическим файлам, применение которьпс предполагается в восстановленной версии. Изменить имя базы данных назначения не составляет труда. Это имя можно указать непосредственно в окне, показанном на рис. 24.16. Проблема заключается в том, что смена имени базы данных назначения не позволяет решить более важную задачу- указать другие файлы (файлы .MDF и .LDF), в которые должна осуществляться запись данных в процессе восстановления. Для этой цели применяется узел Options диалогового окна Restore Database. Страница, которая откроется после щелчка на узле Options, также в основном содержит параметры, не требующие пояснений, но столбец Restore As заслуживает особого внимания. В этой части диалогового окна можно установить другие значения вместо имени каталога назначения и имени файла применительно к каждому исходному файлу. Это позволяет восстановить несколько копий одной и той же базы дан-
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |