|
По материалам статьи Joe Lax на swynk.com: «Using SQL Server 2000 Recovery Models» В этой статье подчёркивается, что прикладные системы
требуют разных подходов к стратегии резервирования, в
зависимости от критичности информации в СУБД. В SQL Server
2000 стратегии резервирования реализованы так, что выбор одной
из моделей "recovery models" поможет Вам легко
классифицировать ваши задачи резервирования и существенно
упростит ваш план резервного копирования. Какие существуют модели восстановления? Принципы работы журнала регистрации транзакций и Bulk Copy Прежде, чем рассматривать модели восстановления, обратимся
к принципам функционирования двух связанных между собой
механизмов SQL Server: transaction log и Bulk Copy utility.
Применение моделей восстановления соответствующих этим двум
механизмам, основано на одном из основных различий между
ними. Модели восстановления SQL Server 2000 SQL Server 2000 имеет три модели: Простая (Simple), Полная (Full), и Bulk-Logged. Простая Когда для базы данных установлена эта модель, это говорит о том, что не будет никакой возможности восстановить изменения, сделанные в базе после предыдущего резервного копирования. Выполняются только полные резервные копирования. Единственная выгода от этой модели, это то, что transaction log не переполняется транзакциями, регистрируемыми в журнале между полными резервными копированиями. Всякий раз, когда база данных исполняет checkpoint, свободное место в журнале регистрации транзакций высвобождается. Кроме того, разрешены не регистрируемые операции, такие, как массовое копирование. Полная Полная модель позволяет создавать не только полные резервные копии базы данных, но и последовательные, промежуточные резервные копии изменений, которые произошли начиная с последнего, полного резервного копирования. Дополнительной выгодой от этой модели является возможность восстановления базы данных на заданное время. Например, если пользователь случайно удалит все учетные записи в базе данных в 13:00, возможно восстановить базу данных на момент 12:59, приведя её в состояние, предшествующее удалению учетных записей. При выборе этой модели, место в transaction log высвобождается только когда будет сделано резервное копирование transaction log. Когда это происходит, все изменения, зарегистрированные в transaction log, будут записаны в резервную копию, и занимаемое ими в журнале место освободится. Поэтому базы данных, эксплуатируемые в этом режиме, должны иметь достаточно места, доступного для transaction log, чтобы хранить все транзакции, которые исполняются между каждым резервным копированием. Кроме того, не допускаются не регистрируемые операции. Bulk-Logged Bulk-Logged модель находится по смыслу между уже представленными двумя моделями. С одной стороны, становятся возможны последовательные резервные копии базы данных и transaction log обрабатывается также, как в полной модели. Однако, массовые операции копирования регистрируются только по минимуму. Вместо регистрации каждой вставки в таблицу, SQL Server регистрирует необходимый минимум для восстановления данных, если такое резервирование необходимо. Однако, из-за этого, если будет выполнена массовая операция копирования, восстановление point-in-time станет невозможно. Использование моделей восстановления SQL Server 2000 При выборе модели, которая наибольшим образам соответствует
Вашим потребностям, ответьте на следующие вопросы: Применение моделей Теперь, когда Вы выбрали модель, можно применить её к базе данных. Чтобы это сделать, выполните инструкцию ALTER DATABASE: ALTER DATABASE [database name] Чтобы убедиться в том, что модель была успешно установлена для заданной базы данных, выполните команду: SP_HELPDB [database name] Эта хранимая процедура возвращает много информации относительно указанной базы данных. Сведения о recovery model указаны в столбце Status, в котором указано значение RECOVERY=[name of model]. Где теперь находятся параметры Те из Вас, кто знаком с предыдущими версиями SQL Server, могут задаться вопросом, что случилось с sp_dboption, которая раньше использовалась при настройке для баз данных truncate log on checkpoint и SELECT INTO Bulk Copy. SQL Server 2000 всё еще поддерживает эти параметры для обратной совместимости, но не обещает такой поддержки в будущих версиях. Поэтому, хотя Вы всё еще можете достигать того же самого эффекта, используя sp_dboption, лучше использовать новые модели восстановления. Кроме того, выбирая новым способом recovery model, Вы будете использовать только одну команду, что бы SQL Server установил truncate log и SELECT INTO Bulk Copy. Используя sp_dboption, Вы должны будете выполнить две отдельных команды. Последний штрих Выбор модели не подразумевает автоматическую организацию резервного копирования. Вы всё еще должны настроить и спланировать резервирование. Дополнительную информацию можно получить в Books Online в главе: Backing Up and Restoring Databases. |
Перевод: Александр Гладченко 2001г. |