Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Артемов Д.В. -> "Microsoft SQL Server 2000" -> 44

Microsoft SQL Server 2000 - Артемов Д.В.

Артемов Д.В. Microsoft SQL Server 2000 — М.: Издательско-торговый дом «Русская Редакция», 2001. — 576 c.
ISBN 5-7502-0154-6
Скачать (прямая ссылка): artemov.pdf
Предыдущая << 1 .. 38 39 40 41 42 43 < 44 > 45 46 47 48 49 50 .. 187 >> Следующая


Если БД включает несколько файлов или групп файлов, может оказаться, что некоторые файлы надо копировать единым блоком — например, при создании индексов. SQL Server автоматически определяет, создавался ли индекс с момента последнего копирования, и, если да, требует копировать весь набор задействованных файлов как единый блок. При создании индекса журнал транзакций содержит запись только о самом факте индексирования и список страниц, использованных для создания индекса. При восстановлении БД и применении копии журнала транзакций SQL Server выполняет CREATE INDEX с использованием исходных страниц (рис. 2-37).

Чтобы SQL Server мог восстановить индекс, все файлы БД, содержащие таблицы, охваченные индексом, должны быть в том же состоянии, в каком были при создании индекса. Если индекс и его таблицы созданы в пределах одной группы файлов, вся группа должна попасть в копию единым блоком. Если индекс создается в одной группе файлов, а таблица находится в другой, обе группы файлов нужно копировать единым блоком.

www.books-shop.com

114

Microsoft SQL Server 2000, Новейшие технологии

Рис. 2-37. Размещение данных по индивидуальным файлам влияет на состав страховочной копии.

Стратегия полного копирования базы данных

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

При регулярном создании только полной копии журнал транзакций может переполниться, и БД станет неработоспособной. Во избе-

www.books-shop.com

ГЛАВА 2; Управление сервером

жание этого периодически очищайте журнал транзакций. Это можно делать вручную командой BACKUP или автоматически, установив spdboption ['database'] [, 'trunc. log on chkpt'] [, 'TRUE']. После назначения этого параметра журнал транзакций БД будет автоматически сбрасывать все «грязные» страницы на диск и урезать неактивную часть журнала. Эта операция выполняется примерно раз в минуту.

Для базы с активным параметром log on chkpt копирование

журнала невозможно (там и копировать-то нечего).

Стратегия полного копирования базы данных и последующего копирования журнала транзакций

Помимо полного копирования надо создавать регулярные копии журнала транзакций для сохранения истории всех изменений БД с момента создания полной копии. Это самая популярная стратегия.

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

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

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

Создание страховочных копий и производительность

Копирование на несколько физических устройств обычно идет быстрее, чем на одно. SQL Server позволяет ускорить создание копии за счет параллельной записи данных на все подключенные устройства. Скорость копирования зависит и от производительности устройств, на которое выполняется запись. Очевидно и то, что ленточные накопители обычно медленнее дисковых. Хотя SQL Server способен выполнять копирование при активно работающих пользователях, их присутствие может повлиять на длительность процесса.

g Данная версия книги выпущена электронным издательством "Books-shop".

Распространение, продажа, перезапись данной книги или ее частей ЗАПРЕЩЕНЫ. О всех нарушениях просьба сообщать по адресу piracy@books-shop.com

11 g

Microsoft SQL Server 2000, Новейшие технологии

Восстановление страховочных копий

Если почему-либо Вам понадобилось восстановить данные из копии (вовсе не обязательно, что это следствие катастрофического сбоя БД), Вы должны иметь четко продуманный и протестированный план. В критической ситуации экспериментировать некогда — Вы должны быть готовы заранее.

Автоматическое восстановление

При сбое системы SQL Server способен автоматически восстановить целостность БД. Автоматическое восстановление происходит каждый раз при запуске SQL Server. Взгляните на выдержку из журнала Errorlog, сведения о стартовых процедурах.

Starting up database 'master'. Opening file h:\mssql\data\master.mdf. Opening file H:\MSSQL\0ATA\MASTL0G.LDF.

2 transactions rolled forward. 0 transactions rolled back. Starting up database
Предыдущая << 1 .. 38 39 40 41 42 43 < 44 > 45 46 47 48 49 50 .. 187 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100