Просмотр или изменение модели восстановления базы данных (SQL Server)

Применимо к: SQL Server (все поддерживаемые версии)

В этой статье описывается просмотр или изменение базы данных с помощью SQL Server Management Studio или Transact-SQL.

Модель восстановления — это свойство базы данных, которое управляет процессом регистрации транзакций, определяет, требуется ли для журнала транзакций резервное копирование, а также определяет, какие типы операций восстановления доступны. Существует три модели восстановления: простая модель восстановления, модель полного восстановления и модель восстановления с неполным протоколированием. Обычно в базе данных используется модель полного восстановления или простая модель восстановления. Базу данных можно в любой момент переключить на использование другой модели восстановления. База данных model задает модель восстановления по умолчанию для новых баз данных.

Более подробное объяснение см. в статье о моделях восстановления.

Перед началом

  • Создайте резервную копию журнала транзакцийперед переключением с модели полного восстановления или восстановления с неполным протоколированием.

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

    • в настоящий момент пользователям запрещен доступ к базе данных;

    • Все изменения, внесенные во время массовой обработки, можно восстановить без резервного копирования журналов; Например, повторно запустите массовые процессы.

    При выполнении этих двух условий вы не будете подвергаться какой-либо потере данных при восстановлении журнала транзакций, резервного копирования которых выполнялась в модели восстановления с неполным протоколированием.

    Примечание

    При переключении на модель полного восстановления в ходе массовой операции режим регистрации массовой операции переключается с минимального протоколирования на полное, и наоборот.

Необходимые разрешения

Необходимо разрешение ALTER на базу данных.

Использование среды SQL Server Management Studio

Просмотр или изменение модели восстановления

  1. После подключения к соответствующему экземпляру ядра СУБД SQL Server в обозреватель объектов выберите имя сервера, чтобы развернуть дерево сервера.

  2. Раскройте узел Базы данныхи в зависимости от типа восстанавливаемой базы данных выберите пользовательскую базу данных или раскройте узел Системные базы данных и выберите системную базу данных.

  3. Щелкните правой кнопкой мыши базу данных и выберите пункт "Свойства", в котором откроется диалоговое окно "Свойства базы данных ".

  4. На панели Выбор страницы выберите пункт Параметры.

  5. Текущая модель восстановления будет указана в списке Модель восстановления .

  6. Если нужно изменить модель восстановления, выберите в этом списке другую модель. Возможные варианты модели восстановления: Полная, С неполным протоколированиеми Простая.

  7. Щелкните ОК.

Использование Transact-SQL

Просмотр модели восстановления

  1. Установите соединение с компонентом Компонент Database Engine.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере описано, как запросить через представление каталога sys.databases модель восстановления для базы данных model .

SELECT name, recovery_model_desc  
   FROM sys.databases  
      WHERE name = 'model' ;  
GO  
  

Изменение модели восстановления

  1. Установите соединение с компонентом Компонент Database Engine.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере показано, как переключить модель восстановления в базе данных model в режим FULL с помощью параметра SET RECOVERY инструкции ALTER DATABASE .

USE [master] ;  
ALTER DATABASE [model] SET RECOVERY FULL ;  

Рекомендуемые действия. После изменения модели восстановления

  • После переключения с модели полного восстановления на модель восстановления с неполным протоколированием

    • После завершения массовых операций немедленно переключитесь обратно на модель полного восстановления.

    • После переключения с модели восстановления с неполным протоколированием в модель полного восстановления создайте резервную копию журнала.

      Примечание

      Стратегия резервного копирования сохраняется: выполняйте периодически резервное копирование базы данных, журнала и создание разностных резервных копий.

  • После переключения с простой модели восстановления

    • Сразу же после переключения на модель полного восстановления или на модель восстановления с неполным протоколированием создайте полную или разностную резервную копию базы данных, чтобы начать цепочку журналов.

      Примечание

      Переключение на модель полного восстановления или модель восстановления с неполным протоколированием вступает в силу только после создания первой резервной копии данных.

    • Запланируйте обычное резервное копирование журнала и соответствующим образом обновите план восстановления.

      Важно!

      Создайте резервную копию журналов. Если резервные копии журнала создаются недостаточно часто, журнал транзакций начнет разрастаться до тех пор, пока не переполнит диск.

  • После переключения на простую модель восстановления

    • Отмените все запланированные задания резервного копирования журнала транзакций.

    • Убедитесь, что запланировано периодическое резервное копирование базы данных. Резервное копирование базы данных очень важно как для защиты ваших данных, так и для усечения неактивной части журнала транзакций.

Связанные задачи

См. также

См. также:

Модели восстановления (SQL Server)
Журнал транзакций (SQL Server)
ALTER DATABASE (Transact-SQL)
sys.databases (Transact-SQL)
Модели восстановления (SQL Server)