Резервное копирование и восстановление: взаимодействие и сосуществование

Область применения: SQL Server

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

В этом разделе.

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

Этот раздел относится только к базам данных SQL Server с несколькими файловыми группами.

Примечание.

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

Если во время запуска базы данных возникает проблема, восстановление завершается ошибкой, а база данных помечается как подозрительная (SUSPECT). Если проблема касается только отдельных файлов, администратор базы данных может перевести их в режим «вне сети»и попытаться перезапустить базу данных. Для перевода файла в режим «вне сети» можно выполнить следующую инструкцию ALTER DATABASE :

ALTER DATABASE имя_базы_данных MODIFY FILE (NAME ='имя_файла', OFFLINE)

Если запуск пройдет успешно, то любая файловая группа, содержащая файлы в режиме «вне сети», также будет находиться в режиме «вне сети».

Восстановление в сети и отключенные индексы

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

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

Сведения о восстановлении автономных файловых групп см. в разделе "Восстановление в сети" (SQL Server).

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

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

Примечание.

В будущей версии Microsoft SQL Server возможность зеркального копирования базы данных будет удалена. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте группы доступности AlwaysOn.

Зеркальное отображение базы данных — это решение, нацеленное на повышение ее доступности. Зеркальное отображение каждой базы данных осуществляется отдельно и работает только с теми базами данных, которые используют модель полного восстановления. Дополнительные сведения см. в статье Зеркальное отображение базы данных (SQL Server).

Примечание.

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

Создание зеркальной базы данных

Зеркальная база данных создается посредством восстановления с параметром WITH NORECOVERY резервных копий основной базы данных на зеркальном сервере. При восстановлении базы данных должно сохраняться ее имя. Дополнительные сведения см. в статье Подготовка зеркальной базы данных к зеркальному отображению (SQL Server).

Зеркальная база данных может быть создана при использовании последовательности поэтапного восстановления, если она поддерживается. Однако зеркальное отображение не может быть начато до тех пор, пока не будут восстановлены все файловые группы (и, как правило, резервные копии журналов), чтобы привести состояние зеркальной базы данных как можно ближе к основной. Дополнительные сведения см. в разделе Поэтапное восстановление (SQL Server).

Ограничения на резервное копирование и восстановление в процессе зеркального отображения

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

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

  • Резервное копирование основной базы данных допустимо, а операция BACKUP LOG WITH NORECOVERY недопустима.

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

Поэтапное восстановление и полнотекстовые индексы

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

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

Примечание.

Чтобы просмотреть идентификатор файловой группы, содержащей полнотекстовый индекс, выберите столбец data_space_id представления sys.fulltext_indexes.

Полнотекстовые индексы и таблицы в разных файловых группах

Если полнотекстовый индекс расположен в другой файловой группе, отдельно от всех связанных с ним табличных данных, поведение поэтапного восстановления зависит от того, какие файловые группы восстанавливаются и переводятся в режим «в сети» первыми.

  • Если файловая группа, содержащая полнотекстовый индекс, восстанавливается и переводится в режим «в сети» перед файловыми группами, содержащими связанные табличные данные, после перевода индекса в режим «в сети» полнотекстовый поиск работает предсказуемым образом.

  • Напротив, если файловая группа, содержащая табличные данные, восстанавливается и переводится в режим «в сети» раньше файловой группы, содержащей полнотекстовый индекс, это может оказать влияние на работу полнотекстового поиска. Это связано с тем, что инструкции Transact-SQL, которые активируют заполнение, перестраивают каталог или переорганизуют каталог, пока индекс не будет передан в режим "в сети". К таким инструкциям относятся CREATE FULLTEXT INDEX, ALTER FULLTEXT INDEX, DROP FULLTEXT INDEX и ALTER FULLTEXT CATALOG.

    В этом случае важны следующие факторы.

    • Если полнотекстовый индекс поддерживает отслеживание изменений, пользовательская DML-инструкция будет завершаться с ошибкой до тех пор, пока файловая группа с индексом не будет переведена в режим «в сети». Операция удаления будет также завершаться с ошибкой до перевода файловой группы индекса в режим «в сети».

    • Независимо от отслеживания изменений, полнотекстовые запросы будут завершаться ошибкой, поскольку индекс недоступен. При попытке выполнить полнотекстовый запрос, если файловая группа с полнотекстовым индексом находится в режиме «вне сети», будет возвращена ошибка.

    • Функции состояния (например, FULLTEXTCATALOGPROPERTY) выполняются успешно в тех случаях, когда они не пытаются получить доступ к полнотекстовому индексу. Например, обращение к любым полнотекстовым метаданным в сети будет выполнено успешно, а выполнение функций uniquekeycount, itemcount завершится ошибкой.

    После того как файловая группа с полнотекстовым индексом восстановлена и переведена в режим «в сети», данные индекса и табличные данные являются согласованными.

После перевода файловой группы базовой таблицы и файловой группы полнотекстового индекса в режим «в сети» приостановленное полнотекстовое заполнение восстанавливается.

Резервное копирование, восстановление и сжатие файлов

SQL Server поддерживает сжатие данных файловой системы NTFS для файловых групп только для чтения и баз данных только для чтения.

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

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

  • Разрешается восстанавливать базу данных только для чтения в том со сжатием.

Примечание.

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

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

См. также

Резервное копирование и восстановление баз данных SQL Server
Создание резервных копий реплицируемых баз данных и восстановление из них
Активные вторичные реплики, резервное копирование во вторичных репликах (группы доступности Always On)