Резервное копирование и восстановление полнотекстовых каталогов

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

Чтобы выполнить резервное копирование полнотекстовых каталогов, используйте инструкцию BACKUP:

BACKUP DATABASE database_name
TO backup_device

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

В ходе операции BACKUP SQL Server обычно выполняет следующие действия.

  1. Временно приостанавливает службу полнотекстового поиска Майкрософт для SQL Server (MSFTESQL) и записывает на диск все отложенные изменения полнотекстового каталога. Также SQL Server прекращает записывать в каталог данные и заносит все изменения, которые еще не были обработаны на момент начала резервного копирования, в журнал уведомлений, чтобы эти изменения можно было применить в полнотекстовых каталогах после завершения резервного копирования.
    Состояние каталога сохраняется на диске. В этот момент все еще можно выполнять запросы к каталогу.
  2. Создает резервные копии всех данных из таблиц, полнотекстового каталога и журнала отслеживания изменений, а также метаданных.
  3. Создает резервные копии всех данных из журнала транзакций, которые появились в нем с момента начала процесса создания резервной копии.
  4. Возобновляет работу службы MSFTESQL и заполнение полнотекстовых индексов.

Дополнительные сведения о резервном копировании баз данных см. в разделе Создание полных и разностных резервных копий базы данных SQL Server. Дополнительные сведения об инструкции BACKUP языка Transact-SQL см. в разделе BACKUP (Transact-SQL).

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

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

  • Создание разностной резервной копии
    Для резервного копирования изменений, внесенных в полнотекстовые каталоги и базы данных с момента создания последней резервной копии, укажите в команде BACKUP предложение WITH DIFFERENTIAL.

    Например, следующая инструкция создаст резервную копию изменений базы данных (в том числе полнотекстовых каталогов), выполненных с момента создания последней полной резервной копии:

    BACKUP DATABASE database_name
    TO backup_device
    WITH DIFFERENTIAL
    

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

    Создание разностных резервных копий полнотекстовых каталогов, хранящихся в файловой системе FAT32, не поддерживается.

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

    Например, следующая инструкция выполнит резервное копирование только полнотекстового каталога fulltext_cat.

    BACKUP DATABASE database_name
    FILE = 'sysft_fulltext_cat'
    TO backup_device
    
    ms142511.note(ru-ru,SQL.90).gifПримечание.
    Имя файла полнотекстового каталога представляет собой имя полнотекстового каталога с префиксом «sys».

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

    Например, следующая инструкция выполнит резервное копирование только файловой группы fulltext_catFG.

    BACKUP DATABASE database_name
    FILEGROUP = 'fulltext_catFG'
    TO backup_device
    
  • Создание разностных резервных копий файлов полнотекстовых каталогов
    Чтобы в резервную копию вошли только изменения полнотекстового каталога, укажите в команде BACKUP предложения FILE и WITH DIFFERENTIAL.

    Например, следующая инструкция создаст резервную копию изменений полнотекстового каталога fulltext_cat, выполненных с момента создания его последней полной резервной копии.

    BACKUP DATABASE database_name
    FILE = 'sysft_fulltext_cat'
    TO backup_device
    WITH DIFFERENTIAL
    

    Чтобы в резервную копию вошли только изменения полнотекстовых каталогов, хранящихся в файловой группе, укажите в команде BACKUP предложения FILEGROUP и WITH DIFFERENTIAL.

    Например, следующая инструкция создаст резервную копию изменений всех полнотекстовых каталогов, хранящихся в файловой группе fulltext_catFG, за время с момента создания последней полной резервной копии этих каталогов.

    BACKUP DATABASE database_name
    FILEGROUP = 'fulltext_catFG'
    TO backup_device
    WITH DIFFERENTIAL
    

Чтобы восстановить полнотекстовые каталоги, используйте команду RESTORE.

RESTORE DATABASE database_name
FROM backup_device

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

Дополнительные сведения об инструкции RESTORE языка Transact-SQL см. в разделе RESTORE (Transact-SQL).

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

  • Восстановление полнотекстового каталога в другой папке
    Для указания иного пути к корневой папке полнотекстового каталога включите в команду RESTORE предложение WITH MOVE.

    Например, следующая инструкция восстановит полнотекстовый каталог fulltext_cat в папке F:\FtCat:

    RESTORE DATABASE AdventureWorks
    FROM backup_device
    WITH MOVE 'sysft_fulltext_cat' TO 'F:\FtCat'
    

    Если указано предложение WITH MOVE, SQL Server обновляет метаданные полнотекстового каталога в представлениях каталога sys.fulltext_catalogs и sys.databases_files, записывая в них новый путь к корневой папке каталога. Метаданные полнотекстового каталога обновляются тем же образом и в то же время, что и другие файлы данных, соответствующие таблицам и базе данных.

    Предложение WITH MOVE позволяет также восстанавливать в другие папки разностные и обычные резервные копии файлов или файловых групп полнотекстовых каталогов.

    ms142511.note(ru-ru,SQL.90).gifПримечание.
    Восстановить полнотекстовый каталог в корневую папку нельзя.
  • Восстановление полнотекстовых каталогов на основе разностных резервных копий
    Чтобы восстановить полнотекстовые каталоги и базы данных на основе разностных резервных копий, выполните две операции восстановления: полное восстановление, а затем разностное восстановление. Вторая операция восстановления обновляет только те области базы данных, которые были изменены между созданием полной и разностной резервных копий.

    RESTORE DATABASE AdventureWorks
    FROM backup_device
    WITH NORECOVERY
    RESTORE DATABASE AdventureWorks
    FROM backup_device2
    FILE = 'sysft_fulltext_cat'
    

    В этом сценарии база данных находится в автономном режиме, а служба Microsoft Search приостанавливается на промежуток времени между операциями восстановления. База данных и служба возвращаются в оперативный режим работы только после завершения второй операции восстановления.

    Также возможно восстановление файлов и файловых групп на основе разностных резервных копий.

  • Восстановление полнотекстовых каталогов на основе резервных копий файлов
    Чтобы восстановить полнотекстовые каталоги на основе резервных копий файлов или файловых групп, укажите в команде RESTORE предложение FILE или FILEGROUP.

    RESTORE DATABASE AdventureWorks
    FILE = 'sysft_fulltext_cat'
    FROM backup_device
    
    --or 
    RESTORE DATABASE AdventureWorks
    FILEGROUP = 'fulltext_catFG'
    FROM backup_device
    

    Если попытаться восстановить полнотекстовый каталог на основе более старой версии данных, SQL Server выдаст предупреждение.

ms142511.note(ru-ru,SQL.90).gifПримечание.
При восстановлении журнала транзакций на основе резервной копии полнотекстовый индекс может прийти в несогласованное состояние. Чтобы привести полнотекстовый индекс в согласованное состояние, нужно выполнить полное сканирование.

См. также

Основные понятия

Администрирование компонента Full-Text Search

Справка и поддержка

Получение помощи по SQL Server 2005