Как перемещать, копировать и архивировать файлы и папки полнотекстового каталога

ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

Эта статья на английском языке:240867
Эта статья помещена в архив. Она предлагается "как есть" и обновляться не будет.
Аннотация
Полнотекстовые каталоги и индексы не хранятся в SQL База данных сервера. Полнотекстовые каталоги и индексы хранятся в отдельных файлах что управляет служба поиска Майкрософт. Не файлы полнотекстового каталога восстановить во время восстановления Microsoft SQL Server. Кроме того нельзя использовать инструкций Transact SQL, резервного КОПИРОВАНИЯ и ВОССТАНОВЛЕНИЯ для резервного копирования и восстановления файлы полнотекстового каталога. После операции восстановления или восстановления необходимо отдельно повторной синхронизации полнотекстовых каталогов. Только Microsoft Windows NT системному администратору и служба поиска Майкрософт можно получить доступ к полнотекстовому поиску файлы каталога.

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

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

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

Microsoft SQL Server 7.0:
\Mssql7\FTDATA

Microsoft SQL Server 2000:
По умолчанию экземпляр: программа Files\Microsoft SQL Server\MSSQL\FTDATA
Именованный экземпляр: программа Files\Microsoft SQL Server\MSSQL$ instancename\FTDATA

Каждый полнотекстовый каталог и его связанные файлы сохраняются в папке, используются следующие имена соглашение о где DBID связанные базы данных идентификатор и где ftcatid полный текст каталог Идентификатор:

(SQLxxxxx)»DBID) yyyyy ()ftcatid)"

Каждый ftcatid уникально в пределах соответствующего База данных.

Важные Этот раздел, метод или задача содержит действия, о том, как внести изменения в реестр. Тем не менее при неправильном изменении реестра, могут возникнуть серьезные проблемы. Таким образом Убедитесь, что внимательно выполните следующие действия. Для дополнительной защиты резервную копию реестра перед внесением изменений. Затем при возникновении неполадок можно восстановить реестр. Для получения дополнительных сведений о том, как резервное копирование и восстановление реестра щелкните следующий номер статьи базы знаний Майкрософт:
322756 Резервное копирование и восстановление реестра Windows

Резервное копирование полнотекстового каталога на автономный компьютер или кластер

  1. Остановите службу поиска Microsoft на автономного компьютер. Для кластеризованной конфигурации SQL Server оставьте полнотекстовый поиск ресурс в оперативный режим. После остановки службы поиска Майкрософт не удается запустить полнотекстовые запросы, использующие предикаты CONTAINS или FREETEXT, или функции для наборов строк функции CONTAINSTABLE и FREETEXTTABLE в базе данных. Кроме того, запросы полнотекстового поиска не работают, и появляется следующее сообщение об ошибке:
    Сервера: Msg 7602, уровень 16, Состояние 1, строка 2 служба полнотекстового (Microsoft Search) не поддерживается. В системный администратор должен запустить эту службу.
  2. Резервное копирование системных файлов Microsoft Windows NT с помощью служебной программы, например, Backup Exec, а затем архивировать полнотекстовые каталоги, файлы и папки.В Системная таблица (полнотекстовые каталогиsysfulltextcatalogs) резервного копирования базы данных SQL Server.
  3. Архивировать следующие записи реестра, если необходимо создать резервную каталоги по отдельности:
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder]]]\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\ [FT_Catalog_Folder]\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    [FT_Catalog_Folder] — Имя папки каталога (SQLxxxxx)»DBID) yyyyy ()ftcatid)"
    Для именованного экземпляра SQL Server является запись в реестре \SQLServer$Имя_экземпляра\.
  4. 2. Создание резервной копии следующие записи реестра для резервного копирования всех каталоги: (архивная все полнотекстовые каталоги на сервере.)
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering...\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    Для именованного экземпляра SQL Server является запись в реестре \SQLServer$Имя_экземпляра\.

Чтобы восстановить полнотекстовые каталоги на одном сервере же локальный диск или путь

  1. Остановите службу поиска Microsoft. Примечание Выполните шаг 2, только если база данных была удалена. В противном случае перейдите к Шаг 3.
  2. Восстановление или присоединение базы данных, где были включены полнотекстовые. После восстановления базы данных, убедитесь, что идентификатор базы данных (dbid) совпадает с он был во время резервного.
    Примечание Если база данных была присоединена с помощью sp_attach_dbкоманды, убедитесь, что запуск Exec sp_fulltext_database команда «включить» Включение базы данных для полнотекстового поиска.
  3. Для определения dbid, выполните следующую команду:
    Use dbnamegoselect db_id()
    Примечание Чтобы восстановить отдельные каталоги, выполните шаг 4. Чтобы восстановить все каталоги, перейдите к шагу 5.
  4. Восстановление реестра, которые резервного копирования на основе инструкции более ранней резервной копии. Требуется резервную копию реестра перед Повторите этот шаг.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder]]]\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\ [FT_Catalog_Folder]\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    [FT_Catalog_Folder] — Имя папки каталога (SQLxxxxx)»DBID) yyyyy ()ftcatid)"
    Для именованного экземпляра SQL Server является запись в реестре \SQLServer$Имя_экземпляра\.
  5. Чтобы восстановить все каталоги на сервере, восстановить следующие записи реестра. Требуется резервную копию реестра, прежде чем Повторите этот шаг.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering...\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    Для именованного экземпляра SQL Server является запись в реестре \SQLServer$Имя_экземпляра\.
  6. Восстановление из резервной копии каталогов по умолчанию что резервного копирования из.
  7. Перезапустите службу поиска Майкрософт.
  8. Убедитесь, что новые полнотекстовые каталоги, файлы и папки режим работы с помощью инструкции Transact-SQL SELECT и используют CONTAINS или Предикат FREETEXT в предложении WHERE.

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

  1. Подтвердите имя полнотекстового каталога и локального диска или путь с помощью sp_help_fulltext_catalogs «ft_catalog_name». Запись полнотекстовый поиск каталог диска и полный путь для последующего использования.
  2. Остановите службу поиска Microsoft. Выполните шаги 3 и 4 только в том случае, если база данных была удалена или был удален каталог, в противном случае перейдите Шаг 5.
  3. Восстановление или присоединение базы данных, где были включены полнотекстовые. После восстановления базы данных, убедитесь, что идентификатор базы данных (dbid) совпадает с он был во время резервного.

    Примечание Если база данных была присоединена с помощью sp_attach_dbкоманды, убедитесь, что запуск Exec sp_fulltext_database команда «включить» Включение базы данных для полнотекстового поиска.

    Для определения dbid, запуск Следующий код:
    Use dbnamegoselect db_id()
  4. Восстановите следующие записи реестра. Может потребоваться резервную копию реестра, прежде чем этот шаг.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder]]]\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\ [FT_Catalog_Folder]\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    [FT_Catalog_Folder] — Имя папки каталога (SQLxxxxx)»DBID) yyyyy ()ftcatid)"
    Для именованного экземпляра SQL Server является запись в реестре \SQLServer$Имя_экземпляра\.
  5. Определите новый полнотекстовый каталог локального диска или пути. Копировать полнотекстовые каталоги на новое место.
  6. Разрешить обновления таблицы системы хранится в системе Процедура процедуры sp_configure изменить параметры с помощью переопределения и затем обновить [имя_базы_данных]. dbo.sysfulltextcatalogs столбец пути к новый локальный диск или путь назначения для Папка по умолчанию полнотекстовый каталог, такие как d:\FTData.
  7. Использование в пакете ресурсов Windows NT 4.0 Поиск Утилита для поиска и замены в следующий раздел реестра HKLM значения для каждого полнотекстового каталога, папки (FT_Catalog_Folder) (например, SQL0000500005):
    \SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder]\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\ [FT_Catalog_Folder]\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\[FT_Catalog_Folder]
    Кроме того убедитесь, что для использования прямых кавычек знаки ("") для заключения для обоих разделов реестра -p и -r параметры. Например:
    -m \\server_2 -p "<Key Name>" <Old_FT_Catalog_Path_and_Folder> -r <New_FT_Catalog_Path_and_Folder>

    Примечание: Замена <key name="">, <old_ft_catalog_path_and_folder>, и <new_ft_catalog_path_and_folder> с соответствующими значениями.<b00></b00></new_ft_catalog_path_and_folder></old_ft_catalog_path_and_folder></key>
    Для Пример: -m \\server_2 -p «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\sqlserver$SQL2k\SQL0000500005» d:\programme\Microsoft SQL Server\MSSQL$ SQL2K\FTDATA\SQL0000500005 - r d:\programme\Microsoft SQL Server\MSSQL$ SQL2K\FTDATA\New Location\SQL0000500005

    Для получения дополнительных сведений о синтаксисе для использования Поиск Служебная программа, введите следующий параметр в командной строке DOS:сопровождается /?
  8. Перезапустите службу поиска Майкрософт.
  9. Убедитесь, что новые полнотекстовые каталоги, файлы и папки режим работы с помощью инструкции Transact-SQL SELECT и используют CONTAINS или Предикат FREETEXT в предложении WHERE.

Для копирования полнотекстовых каталогов между экземплярами SQL Server на тот же локальный диск или путь

Следующие шаги демонстрируют, как перемещение или копирование полнотекстового поиска каталог папки и файлы с одного компьютера, на котором запущен SQL Server (server_1) на другой компьютер, на котором запущен SQL Server (server_2). Это в статье предполагается, что SQL Server имеет полнотекстовый поиск установлен и что одинаковые идентификаторы базы данных и таблицы существует на обоих серверах. Для успеха Копировать полнотекстовые каталоги из одного экземпляра SQL Server на другой, Идентификаторы баз данных должны быть одинаковыми. Таким образом рекомендуется иметь server_2 (к которому При копировании каталога) будет точной (клон) из server_1.Confirm, dbids на server_1 и server_2 являются одинаковыми. Для сделать это, выполните следующие команды на обоих серверах:
Use dbnamegoselect db_id()
Для «горячей замены» dbids Чтобы получить правильный dbid на server_2, используйте sp_detach_db и sp_attach_db Чтобы отсоединить и повторно подключите правильный баз данных. Например если у вас есть две базы данных, таких как TestDB (dbid = 7) и PerfDB (dbid = 8), отключите обе базы данных, а затем Первый повторно подключите PerfDB базы данных, а затем TestDB База данных. Это меняет местами dbids: dbid для TestDB становится 8 и dbid для PerfDB становится 7. Является наименьшим dbid в пул доступных dbids всегда используется в первую очередь.

Внимание! Чтобы сделать это, Прежде чем отсоединить базы данных, убедитесь, что обе базы данных нет иметь любые полнотекстовые каталоги и что они не полнотекстовый включается. См. «Очистка процедуры» в разделе «Дополнительная информация» для действия, чтобы удалить полнотекстовые каталоги и отключение полнотекстового поиска для базы данных.
  1. Убедитесь, что master.dbo.sysdatabases DBID для баз данных с включенной полнотекстового совпадают значения на оба сервера.
  2. Убедитесь, что [имя_базы_данных]. dbo.sysobjects Значения Идентификаторов для таблицы включены полнотекстовые одинаковы для обоих серверы. Для получения дополнительных сведений о том, как получить значение Идентификатора таблицы см. раздел «object_id» в электронной документации по SQL Server.
  3. Убедитесь, что полнотекстового каталога, имя и локальный диск или пути одинаковы на обоих серверах с помощью sp_help_fulltext_catalogsFT_Catalog_Name'.
  4. Остановите службу поиска Microsoft на обе server_1 и server_2.
  5. Назначить букву диска на server_1 для соответствующего диска или путь на server_2.
  6. Скопируйте папку полнотекстового каталога и файлов, которые определенного в шаге 3 из server_1 к server_2 с помощью команды DOS Команда xcopy. Используйте полное имя полнотекстового каталога диска или путь и имя папки, как в исходном расположении и полнотекстовый каталог, сопоставленный диск или путь и имя папки как место назначения. Если конечные папки не существует на server_2, использование Команда xcopy Параметры /I и /E Чтобы создать все конечные папки. Чтобы восстановить все каталоги, копирование все папки каталога server_2.
  7. Можно использовать команду DOS RMDIR /S /Q [FT_Catalog_drive и пути] на server_1 для удаления файлов полнотекстового каталога на server_1.

    Примечание Чтобы восстановить отдельные каталоги, выполните шаг 8. Чтобы восстановить все каталоги, перейдите к шагу 9.
  8. Восстановление реестра, которые резервного копирования на основе более ранних версий инструкции. Требуется резервную копию реестра, прежде чем вы сделаете это шаг.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer\[FT_Catalog_Folder \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs\[FT_Catalog_Folder]]]\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering Manager\Applications\SQLServer\Projects\ [FT_Catalog_Folder]\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer [FT_Catalog_Folder]
    [FT_Catalog_Folder] — Имя папки каталога (SQLxxxxx)»DBID) yyyyy ()ftcatid)"
    Для именованного экземпляра SQL Server является запись в реестре \SQLServer$Имя_экземпляра\.
  9. Чтобы восстановить все каталоги на сервере, восстановить следующие записи реестра. Однако при этом будут потеряны все существующие каталоги на server_2 после выполнения этого шага. Требуется резервное копирование вашего реестр, прежде чем этот шаг.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Applications\SQLServer\Catalogs \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Gathering...\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    Примечание По умолчанию, расположение двоичных файлов полнотекстового поиска:
    SQL Server 7.0: \Mssql7\FTDATA
    Корпорация Майкрософт. По умолчанию экземпляр SQL Server 2000: \Program Files\Microsoft SQL Server\MSSQL\FTDATA
    Именованный экземпляр SQL Server 2000: MSSQL$Имя_экземпляра\FTDATA
    К ним расположение и пути к папкам могут различаться для разных компьютеров. В этом случае вы необходимо изменить две записи в реестре, поэтому пути указывают правильное расположение полнотекстовый двоичные файлы после завершения восстановления на server_2.
    \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\CatalogNames\SQLServer \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer
    Можно использовать Поиск Утилита для поиска записей реестра и изменить расположение двоичные файлы полнотекстового поиска.
  10. Перезапустите службу Microsoft Search для обоих серверы.
  11. Убедитесь, что новые полнотекстовые каталоги, файлы и папки режим работы с помощью инструкции Transact-SQL SELECT и используют CONTAINS или Предикат FREETEXT в предложении WHERE.
Дополнительная информация
Следующий сценарий SQL Server Демонстрация перемещения или «Миграция» папки полнотекстового каталога из SQL Server 7.0 (server_1) в другую компьютер, на котором запущен SQL Server 7.0 (server_2) на другой локальный диск или путь к папке на server_2. В данной статье предполагается, что SQL Server 7.0 с полнотекстовый поиск установленных на компьютере под управлением Windows NT 4.0 и что одинаковые идентификаторы базы данных и таблицы существует на обоих серверах.

Для в целях иллюстрации, Pubs (dbid = 5) базы данных и таблицы pub_info (id = 645577338) полнотекстовое включено и на обоих серверы. Замените server_2 на имя сервера и заменить полнотекстовый поиск имя папки каталога и диска или путь к папке имя полнотекстового каталога и диск или путь.

Необходимо войти в систему как локальный сервер является членом Группа администраторов и входить в состав SQL Server sysadmin сервер роли (или вход в систему «sa»). Кроме того, должны быть Владелец базы данных (DBO) базы данных для выполнения следующих SQL Server сценарии.

Запустите следующий сценарий SQL Server на обоих серверах.
use pubsgosp_fulltext_service 'clean_up'gosp_fulltext_database 'enable'go-- Creates and activates the full-text catalog: PubInfo, if it does not exist.-- Drops, re-creates and activates the full-text catalog: PubInfo, if it does-- exist.IF OBJECTPROPERTY ( object_id('pub_info'),                    'TableHasActiveFulltextIndex') = 1BEGIN    print 'Table pub_info is Full-Text Enabled, dropping Full-Text Index& Catalog...'    EXEC sp_fulltext_table 'pub_info', 'drop'    EXEC sp_fulltext_catalog 'PubInfo', 'drop'    print 'Table pub_info is NOT Full-Text Enabled, creating FT Catalog,Index & Activating...'    EXEC sp_fulltext_catalog 'PubInfo', 'create'    EXEC sp_fulltext_table 'pub_info', 'create', 'PubInfo', 'UPKCL_pubinfo'    EXEC sp_fulltext_column 'pub_info', 'pub_id', 'add'    EXEC sp_fulltext_column 'pub_info', 'pr_info', 'add'    EXEC sp_fulltext_table 'pub_info', 'activate'ENDELSE IF OBJECTPROPERTY ( object_id('pub_info'),'TableHasActiveFulltextIndex') = 0BEGIN    print 'Table pub_info is NOT Full-Text Enabled, creating FT Catalog,Index & Activating...'    EXEC sp_fulltext_catalog 'PubInfo', 'create'    EXEC sp_fulltext_table 'pub_info', 'create', 'PubInfo', 'UPKCL_pubinfo'    EXEC sp_fulltext_column 'pub_info', 'pub_id', 'add'    EXEC sp_fulltext_column 'pub_info', 'pr_info', 'add'    EXEC sp_fulltext_table 'pub_info', 'activate'ENDgo -- Confirm Database ID, Object ID, FT Catalog ID and FT folder(default)   -- location.select dbid, name from master.dbo.sysdatabases where dbid = DB_ID('pubs')-- dbid = 5goselect id, name from pubs.dbo.sysobjects where id = object_id('pub_info') gosp_help_fulltext_catalogs 'PubInfo' gosp_help_fulltext_tables 'PubInfo', 'pub_info' gosp_help_fulltext_columns 'pub_info' goexec master..xp_cmdshell 'dir d:\MSSQL70\FTDATA'go--- After full-text is enabled and activated, start full crawl/populationBEGINSET NOCOUNT ONEXEC sp_fulltext_catalog 'PubInfo', 'start_full'----  Wait for crawl to complete--  NOTE: Forlarger tables, increase the WAITFOR DELAY time appropriately--DECLARE @status int, @itemCount int, @keyCount int, @indexSize intSELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')WHILE (@status <> 0)BEGIN  WAITFOR DELAY '00:00:01' -- wait for 1 second before checking FT                           -- Populatestatus...  SELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')ENDWAITFOR DELAY '00:00:05' -- wait for 5 seconds to receive correct FT Property                         -- info (add more time for larger tables)...SET @itemCount = FullTextCatalogProperty('PubInfo', 'itemcount')SET @keyCount = FullTextCatalogProperty('PubInfo', 'uniquekeycount')SET @indexSize = FullTextCatalogProperty('PubInfo', 'indexsize')PRINT 'Nbr. of Rows FT Indexed = ' + CAST((CONVERT(varchar(10), @itemCount)- 1) as varchar(12)) + char(09) + 'Nbr. of Unique FT Words = '+  CONVERT(varchar(10), @keyCount) + char(09)SET NOCOUNT OFFENDgo-- Confirm FT population, 1 row should be returned (pub_id = 0736). SELECT pub_id, pr_info FROM pub_info WHERE CONTAINS(pr_info, 'moon')go-- Stop the Microsoft Search service on both serversexec master..xp_cmdshell 'net stop "Microsoft Search"'go
Запустите следующий сценарий SQL Server на ИСХОДНОМ сервере (server_1):
use pubsgo-- Map a Drive letter to the destination server.exec master..xp_cmdshell 'NET USE K: \\server_2\[drive]$'go-- Copy the destination server's FT catalog folder and files as a backup.exec master..xp_cmdshell 'ROBOCOPY K:\MSSQL70\FTDATA\SQL0000500005K:\MSSQL70\BACKUP\SQL0000500005 /E /NP'go-- Remove the destination server's full-text catalog folder and files.exec master..xp_cmdshell 'RMDIR /S /Q K:\MSSQL70\FTDATA\SQL0000500005'go-- Copy the SOURCE full-text catalog folder and files to the destination server'sNEW full-text catalog location.exec master..xp_cmdshell 'ROBOCOPY D:\MSSQL70\FTDATA\SQL0000500005K:\FTData\SQL0000500005 /E /NP'go-- Restart the Microsoft Search service.exec master..xp_cmdshell 'net start "Microsoft Search"'go-- Remove the mapped drive letter to the destination server, for example-- K:\.exec master..xp_cmdshell 'NET USE K: /delete'go
Необходимо выполнить следующий сценарий SQL на Назначение сервер (server_2):
use mastergo-- Enable system table updates.sp_configure allow,1goreconfigure with overridegouse pubsgo-- Record full-text catalog information (Note: path = NULL)select * from sysfulltextcatalogsgo-- Update the full-text catalog information with the new full-text catalog locationUPDATE sysfulltextcatalogs set path = 'E:\FTData'   WHERE ftcatid = 5go-- Record full-text catalog info. (Note: path = E:\FTData)select * from sysfulltextcatalogsgouse mastergo-- Disable system table updates.sp_configure allow,0goreconfigure with overridego-- CAUTION: Back up your registry hive before you contine!-- Search and replace HKLM "Gather" registry keys with new full-text catalog-- folder location [10 row(s) affected]:exec master..xp_cmdshell 'REGFIND -m \\server_2 -p\Registry\Machine\SOFTWARE\Microsoft\Search\1.0\Gather\SQLServer\SQL0000500005"E:\MSSQL70\FTDATA\SQL0000500005" -r "E:\FTData\SQL0000500005"'go-- Search and replace HKLM "Gatherer Manager" registry keys with new FT-- catalog folder location [6 row(s) affected]:exec master..xp_cmdshell 'REGFIND -m \\server_2 -p"\Registry\Machine\SOFTWARE\Microsoft\Search\1.0\GatheringManager\Applications\SQLServer\Projects\SQL0000500005""E:\MSSQL70\FTDATA\SQL0000500005" -r "E:\FTData\SQL0000500005"'go-- Search and replace HKLM indexer registry keys with new FT catalog folder-- location [6 row(s) affected]:exec master..xp_cmdshell 'REGFIND -m \\server_2 -p"\Registry\Machine\SOFTWARE\Microsoft\Search\1.0\Indexer\SQLServer\SQL0000500005""E:\MSSQL70\FTDATA\SQL0000500005" -r "E:\FTData\SQL0000500005"'go-- Restart the Microsoft Search serviceexec master..xp_cmdshell 'net start "Microsoft Search"'go-- Confirm FT population, 1 row should be returned (pub_id = 0736). use pubsgoSELECT pub_id, pr_info FROM pub_info WHERE CONTAINS(pr_info, 'moon')go
«Прервать» полнотекстового заполнения выполняется путем запуска Следующий код SQL Server:

Внимание! Если число элементов не равно числу строк полнотекстовый индекс плюс один дополнительный, может быть размер полнотекстового каталога Неверный!
-- Run the following code after starting full crawl/population through another connection.use pubsgoBEGINSET NOCOUNT ONEXEC sp_fulltext_catalog 'PubInfo', 'stop'-- Wait for crawl to stop--  NOTE: For larger tables, increase the WAITFOR DELAY time appropriatelyDECLARE @status int, @itemCount int, @keyCount int, @indexSize intSELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')WHILE (@status <> 0)BEGIN  WAITFOR DELAY '00:00:01' -- wait for 1 second before checking FT                           -- Populatestatus...  SELECT @status = FullTextCatalogProperty('PubInfo', 'populatestatus')ENDWAITFOR DELAY '00:00:05' -- wait for 5 seconds to receive correct FT Property                         -- info (add more time for larger tables)...SET @itemCount = FullTextCatalogProperty('PubInfo', 'itemcount')SET @keyCount = FullTextCatalogProperty('PubInfo', 'uniquekeycount')SET @indexSize = FullTextCatalogProperty('PubInfo', 'indexsize')PRINT 'Nbr. of Rows FT Indexed = ' + CAST((CONVERT(varchar(10), @itemCount) - 1)as varchar(12)) + char(09) + 'Nbr. of Unique FT Words = ' +CONVERT(varchar(10), @keyCount) + char(09)SET NOCOUNT OFFENDgo-- Can return: Nbr. of Rows FT Indexed = -1 Nbr. of Unique FT Words = 0 -- (depending upon when the crawl/population stopped)
Процедуры очистки

Запустите следующий сценарий SQL на обоих серверах.

Удалить полнотекстовый индекс, полнотекстовый каталог, а затем отключите полнотекстовый поиск В диалоговом окне pubs База данных:
use pubsgosp_fulltext_table 'pub_info', 'drop'gosp_fulltext_catalog 'PubInfo', 'drop'gosp_fulltext_database 'disable'gosp_fulltext_service 'clean_up'go-- end SQL Script !

ССЫЛКИ

Для получения дополнительных сведений о получении dbid для базы данных в разделе «db_id» в электронной документации по SQL Server.

Чтобы определить, если База данных находится полнотекстовый поиск, содержатся в разделе «databaseproperty» или Разделы «isfulltextenabled» в электронной документации по SQL Server.

Для получения дополнительных сведения о ftcatid, содержатся в разделе «sp_help_fulltext_catalogs» «objectproperty» или «tablefulltextcatalogid» разделы электронной документации по SQL Server Через Интернет.
Полнотекстовый компонент Full-Text Crawl MSSearch нечеткого поиска

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 240867 — последний просмотр: 12/05/2015 15:44:21 — редакция: 4.0

Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive kbinfo kbmt KB240867 KbMtru
Отзывы и предложения