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

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

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

Системная база данных

Описание

Необходимость создавать резервные копии

Модель восстановления

Комментарии

master

База данных, в которой хранятся все системные данные SQL Server.

Да

Простая

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

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

model

Шаблон для всех баз данных, создаваемых на экземпляре SQL Server.

Да

Настраивается пользователем1

Резервные копии базы данных model создаются только в том случае, если они необходимы для предприятия (например сразу же после настройки параметров базы данных).

Рекомендация. Рекомендуется по мере необходимости создавать только полные резервные копии базы данных model. Поскольку база данных model невелика и редко изменяется, создавать резервную копию журнала не обязательно.

Дополнительные сведения см. в разделе Вопросы резервного копирования баз данных model и msdb.

msdb

Эта база данных используется агентом SQL Server для хранения расписаний, предупреждений и заданий, а также для регистрации операторов. Кроме того, база данных msdb содержит таблицы журналов (например журналов резервного копирования и восстановления).

Да

Простая (по умолчанию)

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

Дополнительные сведения см. в разделе Вопросы резервного копирования баз данных model и msdb.

Resource (RDB)

База данных только для чтения, в которой хранятся копии всех системных объектов MicrosoftSQL Server 2005 и более поздних версий.

Нет

База данных Resource находится в файле mssqlsystemresource.mdf, в котором содержится только код. Поэтому SQL Server не может создать резервную копию базы данных Resource.

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

tempdb

Рабочая область для хранения временных или промежуточных результирующих наборов. Эта база данных создается заново при каждом запуске экземпляра SQL Server. При отключении экземпляра сервера любые сведения, содержащиеся в базе данных tempdb, удаляются навсегда.

Нет

Простая

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

Настройка распространителя

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

Да

Простая

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

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

Восстановление системных баз данных из копий

Важное примечаниеВажно!

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

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

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

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

  • Создать базу данных master с нуля.

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

Важное примечаниеВажно!

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

Если база данных model, msdb или distribution стала непригодной к использованию, ее необходимо восстановить из актуальной полной резервной копии. Дополнительные сведения см. в разделах Вопросы восстановления баз данных model и msdb из резервной копии и Резервное копирование и восстановление из копий реплицируемых баз данных.