Поделиться через


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

SQL Server поддерживает набор баз данных системного уровня, которые называютсясистемными базами данныхи жизненно важны для работы экземпляра сервера. После каждого значительного обновления необходимо обязательно создавать резервные копии ряда системных баз данных: msdb, masterи model. Если какая-нибудь из баз данных на экземпляре сервера использует репликацию, то необходимо также создавать резервную копию системной базы данных distribution . Резервные копии системных баз данных позволят восстановить систему SQL Server в случае сбоя, например отказа жесткого диска.

В следующей таблице перечислены все системные базы данных.

Системная база данных Описание Необходимость создавать резервные копии Модель восстановления Комментарии
master База данных, в которой хранятся все системные данные SQL Server . Да Простая Создавайте резервные копии базы данных master с такой частотой, которая необходима для адекватной защиты данных. Рекомендуем составить расписание регулярного резервного копирования, которое можно дополнить созданием резервных копий после значительных обновлений.
model Шаблон для всех баз данных, создаваемых на экземпляре SQL Server. Да Настраиваемое пользователем1 Резервные копии базы данных model создаются только в том случае, если они необходимы для предприятия (например сразу же после настройки параметров базы данных).

Рекомендация. Рекомендуется по мере необходимости создавать только полные резервные копии базы данных model. Поскольку база данных model невелика и редко изменяется, создавать резервную копию журнала не обязательно.
msdb База данных, используемая агентом SQL Server для планирования предупреждений и заданий и для записи операторов. База данныхmsdb также содержит такие таблицы журнала, как таблицы резервных копий и журнала восстановления. Да Простая (по умолчанию) Создавайте резервную копию базы данных msdb после каждого ее обновления.
Resource (RDB) База данных только для чтения, которая содержит копии всех системных объектов, поставляемых с SQL Server нет - База данных Resource находится в файле mssqlsystemresource.mdf, в котором содержится только код. Поэтому SQL Server не может создать резервную копию базы данных Resource .

Примечание. Рассматривая файл mssqlsystemresource.mdf как двоичный файл (EXE), а не файл базы данных, для создания его резервной копии можно выполнить простое резервное копирование файла или диска. Нельзя использовать восстановление SQL Server для резервных копий. Восстановить резервную копию файла mssqlsystemresource.mdf можно будет только вручную; при этом следует соблюдать осторожность, чтобы не перезаписать текущую базу данных Resource устаревшей или потенциально небезопасной версией.
tempdb Рабочая область для хранения временных или промежуточных результирующих наборов. Эта база данных создается заново при каждом запуске экземпляра SQL Server . При отключении экземпляра сервера любые сведения, содержащиеся в базе данных tempdb , удаляются навсегда. нет Простая Создать резервную копию системной базы данных tempdb нельзя.
Настройка распространения База данных, которая существует только в том случае, если сервер настроен как распространитель репликации. Эта база данных содержит метаданные и данные журнала для всех типов репликации, а также транзакции для репликации транзакций. Да Простая Сведения о том, когда следует создавать резервные копии базы данных distribution , см. в статье Создание резервной копии и восстановление из копий реплицируемых баз данных.

1 Сведения о текущей модели восстановления см. в статье Просмотр или изменение модели восстановления базы данных (SQL Server) или sys.databases (Transact-SQL).

Ограничения восстановления системных баз данных

  • Системные базы данных могут быть восстановлены только из резервных копий, созданных той версией SQL Server , которая запущена на данном экземпляре сервера. Например, чтобы восстановить системную базу данных на экземпляре сервера, работающем на SQL Server 2012 с пакетом обновления 1 (SP1).

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

    • Восстановить базу данных master на основе актуальной резервной копии.

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

    • Перестроить базу данных master с нуля.

      Если серьезное повреждение базы данных master не позволяет запустить экземпляр SQL Server, базу данных masterнужно перестроить. Дополнительные сведения см. в разделе Перестроение системных баз данных.

      Важно!

      При перестроении базы данных master все системные базы данных также перестраиваются.

  • В некоторых случаях для проблем, связанных с восстановлением табличного шаблона базы данных модели, может потребоваться перестроение системных баз данных или замена MDF- и LDF-файлов базы данных модели. Дополнительные сведения см. в разделе Перестроение системных баз данных.

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

См. также:

База данных распространителя
База данных master
База данных msdb
Шаблон базы данных
База данных ресурсов
База данных tempdb