Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server База данных SQL Azure
SQL Server обновляет полнотекстовый поиск во время установки или при подключении, восстановлении или копировании файлов базы данных и полнотекстовых каталогов из SQL Server 2005 (9.x) и более ранних версий.
Обновление экземпляра сервера
Для обновления на месте экземпляр SQL Server настраивается параллельно со старой версией SQL Server, а данные переносятся. Если в старой версии SQL Server установлен полнотекстовый поиск, автоматически устанавливается новая версия полнотекстового поиска. Параллельная установка подразумевает, что каждый из следующих компонентов существует на уровне инстанции SQL Server.
Средства разделения слов, стеммеры и фильтры
Теперь каждый экземпляр использует свой собственный набор компонентов для разбиения на слова, стеммеров и фильтров, вместо того чтобы полагаться на версию этих компонентов, предоставляемых операционной системой. Эти компоненты также проще регистрировать и настраивать на уровне отдельного экземпляра. Дополнительные сведения см. в разделе «Настройка и управление разделителями слов и стеммерами для поиска (SQL Server)» и «Настройка и управление фильтрами для поиска».
Хост демона фильтрации
Узлы демона полнотекстового фильтра — это процессы, которые безопасно загружают и управляют внешними расширяемыми компонентами, используемыми для индексации и запросов, такими как инструменты разбора по словам, стеммеры и фильтры, не нарушая целостности полнотекстового процессора. Экземпляр сервера использует многопоточный процесс для всех многопоточных фильтров и однопоточный процесс для однопоточных фильтров.
Служба запуска FDHOST (MSSQLFDLauncher) распространяет сведения об учетной записи службы в процессы управляющей программы фильтра определенного экземпляра SQL Server. Сведения о настройке учетной записи службы см. в разделе Настройка учетной записи службы средства запуска управляющей программы полнотекстовой фильтрации.
Совместимость обновления SQL Server 2005
Полнотекстовый каталог — это логический или виртуальный объект, содержащий группу полнотекстовых индексов. Поэтому новый полнотекстовый каталог не рассматривается как файл базы данных с физическим путем. Однако, если вы обновляете с SQL Server 2005 (9.x), для любого полнотекстового каталога, содержащего файлы данных, создается новая файловая группа на том же диске.
Эта процедура сохраняет старое поведение операций ввода-вывода диска после обновления. Если корневой путь существует, то любой полнотекстовый индекс из данного каталога размещается в новой файловой группе. Если старый путь полнотекстового каталога недействителен, то обновление будет хранить полнотекстовый индекс в той же файловой группе, в которой хранится базовая таблица, либо, в случае с секционированной таблицей, в первичной файловой группе.
Параметры обновления полнотекстового содержимого
При обновлении экземпляра SQL Server пользовательский интерфейс позволяет выбрать один из следующих вариантов полнотекстового обновления. Эти параметры доступны только для баз данных SQL Server 2005 (9.x).
Import
Полнотекстовые каталоги импортируются. Обычно импорт проходит значительно быстрее, чем реконструкция. Например, если используется только один ЦП, то импорт выполняется в 10 раз быстрее, чем перестроение. Однако импортированный полнотекстовый каталог не использует новые средства разбиения слов, установленные с последней версией SQL Server. Для обеспечения согласованности результатов запроса необходимо перестроить полнотекстовые каталоги повторно.
Примечание.
Перестроение может выполняться в многопоточном режиме; если доступно более 10 процессоров, то перестроение может выполниться быстрее импорта, если будет разрешено использовать все процессоры.
Если полнотекстовый каталог недоступен, связанные полнотекстовые индексы будут перестроены.
Сведения о влиянии импорта полнотекстового индекса см. в статьях "Рекомендации по выбору параметра полнотекстового обновления " далее в этой статье.
Rebuild
Полнотекстовые каталоги перестраиваются с помощью новых и улучшенных средств разбиения по словам. Перестроение индексов может занять длительное время, а после обновления может потребоваться значительный объем ресурсов ЦП и памяти.
Сброс
Полнотекстовые каталоги обновляются. При обновлении с SQL Server 2005 (9.x) файлы полнотекстового каталога удаляются, но метаданные полнотекстовых каталогов и полнотекстовых индексов сохраняются. После обновления все полнотекстовые индексы отключены для отслеживания изменений и обходы не запускаются автоматически. После обновления каталог будет пустым до тех пор, пока вы не произведете полное заполнение вручную.
Рекомендации по выбору варианта обновления полнотекстового поиска
При выборе режима обновления необходимо учитывать следующие соображения.
Требуется ли согласованность в результатах запроса?
SQL Server устанавливает новые средства разбиения слов для использования полнотекстового и семантического поиска. Средства разбиения по словам используются как во время индексирования, так и при выполнении запросов. Если вы не перестроите полнотекстовые каталоги, результаты поиска могут быть несогласованы. Если вы выдаете полнотекстовый запрос, который ищет фразу, которая разбивается по-разному с помощью средства разбиения слов в предыдущей версии SQL Server и текущего средства разбиения слов, документ или строка, содержащая фразу, может не быть извлечена. Это связано с тем, что индексированные фразы были разбиты с помощью логики, которая не соответствует логике, используемой в запросе. Решение заключается в том, чтобы заполнить полнотекстовые каталоги повторно (перестроить их) с помощью новых средств разбиения по словам, чтобы при индексировании и выполнении запросов использовалась одинаковая логика. Вы можете выбрать опцию «Перестроить» для выполнения этой задачи, или можете перестроить вручную после выбора опции «Импорт».
Были ли полнотекстовые индексы построены в целочисленных столбцах полнотекстовых ключей?
Перестроение выполняет внутренние оптимизации, которые в некоторых случаях увеличивают производительность запросов к обновленным полнотекстовым индексам. В частности, если в полнотекстовых каталогах содержатся полнотекстовые индексы, у которых полнотекстовый ключевой столбец базовой таблицы имеет тип данных integer, то при перестроении обеспечивается оптимальная производительность полнотекстовых запросов. В данном случае рекомендуется использовать параметр Перестроение .
Примечание.
Применительно к полнотекстовым индексам рекомендуется, чтобы столбец, который служит полнотекстовым ключом, имел целочисленный тип данных. Дополнительные сведения см. в разделе Улучшение производительности полнотекстовых индексов.
Каков приоритет для перевода вашего сервера в режим онлайн?
Импорт или перестроение отнимает много ресурсов процессора, что задерживает обновление остальных частей экземпляра сервера и перевод его в режим «в сети». Если получение экземпляра сервера в сети как можно скорее важно, и если вы хотите запустить ручное заполнение после обновления, сброс подходит.
Обеспечение согласованности результатов запроса после импорта полнотекстового индекса
Если при обновлении базы данных SQL Server 2005 (9.x) импортирован полнотекстовый каталог, несоответствия между запросом и содержимым полнотекстового индекса могут возникнуть из-за различий в поведении старых и новых разбиений слов. В данном случае для обеспечения полного соответствия между запросами и содержимым полнотекстового индекса следует выбрать один из следующих параметров:
Перестройте полнотекстовый каталог, содержащий полнотекстовый индекс, командой ALTER FULLTEXT CATALOG:
ALTER FULLTEXT CATALOG <catalog_name> REBUILD;Выполните полное заполнение полнотекстового индекса с ПОМОЩЬЮ ALTER FULLTEXT INDEX:
ALTER FULLTEXT INDEX ON <table_name> START FULL POPULATION;
Дополнительные сведения о средствах разбиения слов и стеммерах можно найти в разделе "Настройка и управление средствами разбиения слов и стеммерами для поиска (SQL Server).
Обновление файлов шумовых слов до списков стоп-слов
При обновлении базы данных с SQL Server 2005 (9.x) файлы шумных слов больше не используются. Однако старые файлы шумовых слов хранятся в папке FTDATA\FTNoiseThesaurusBak, и их можно использовать позже при обновлении или создании соответствующих стоп-списков SQL Server.
После обновления с SQL Server 2005 (9.x):
Если вы никогда не добавляли, не изменяли или не удаляли какие-либо файлы стоп-слов в установке SQL Server 2005 (9.x), системный список стоп-слов должен соответствовать вашим потребностям.
Если файлы со стоп-словами были изменены в SQL Server 2005 (9.x), эти изменения будут потеряны в процессе обновления. Чтобы воссоздать эти изменения, необходимо вручную внести их в соответствующий стоп-лист. Дополнительные сведения см. в разделе ALTER FULLTEXT STOPLIST.
Если вы не хотите применять стоп-слова к полнотекстовому индексу (например, если вы удалили или стерли файлы шумовых слов в установке SQL Server 2005 (9.x), необходимо отключить список стоп-слов для каждого обновленного полнотекстового индекса. Выполните следующую инструкцию Transact-SQL (заменив базу данных именем обновленной базы данных и таблицы именем таблицы):
Use database; ALTER FULLTEXT INDEX ON table SET STOPLIST OFF; GOПредложение STOPLIST OFF отменяет фильтрацию стоп-слов и запускает заполнение таблицы без фильтрации каких-либо слов, которые считаются шумом.
Резервные копии полнотекстовых каталогов и импортированные полнотекстовые каталоги
Для полнотекстовых каталогов, которые подвергаются перестройке или сбросу во время обновления (а также для новых каталогов), полнотекстовый каталог является логической концепцией и не входит в файловую группу. Следовательно, чтобы создать резервную копию полнотекстового каталога, следует определить все файловые группы, содержащие полнотекстовый индекс каталога, а затем последовательно создать резервные копии каждой из этих групп. Дополнительные сведения см. в статье "Резервное копирование и восстановление полнотекстовых каталогов и индексов".
Для полнотекстовых каталогов, импортированных из SQL Server 2005 (9.x), полнотекстовый каталог по-прежнему является файлом базы данных в собственной файловой группе. Процесс резервного копирования SQL Server 2005 (9.x) для полнотекстовых каталогов по-прежнему применяется, за исключением того, что служба MSFTESQL не существует в SQL Server. Сведения о процессе SQL Server 2005 (9.x) см. в статье "Резервное копирование и восстановление полнотекстовых каталогов " в электронной документации ПО SQL Server 2005.
Перенос полнотекстовых индексов при обновлении базы данных
Файлы базы данных и полнотекстовые каталоги из предыдущей версии SQL Server можно обновить до существующего экземпляра с помощью подключения, восстановления или мастера копирования базы данных. Индексы полнотекстового поиска SQL Server 2005 (9.x), если они существуют, либо импортируются, либо сбрасываются, либо перестраиваются. Свойство upgrade_option сервера указывает, какой параметр полнотекстового обновления используется экземпляром сервера во время этих обновлений базы данных.
После присоединения, восстановления или копирования любой базы данных SQL Server 2005 (9.x) более новый экземпляр база данных становится доступной немедленно и затем автоматически обновляется. В зависимости от объема индексируемых данных импорт может занять несколько часов, а перестроение — до 10 раз дольше. Когда параметр обновления настроен на импорт, и полнотекстовый каталог недоступен, связанные полнотекстовые индексы перестраиваются.
Изменение поведения полнотекстового обновления на экземпляре сервера
Transact-SQL: используйте
upgrade_optionдействие sp_fulltext_serviceSQL Server Management Studio: используйте параметр обновления Full-Text диалогового окна «Свойства сервера». Дополнительные сведения см. в разделе Управление и наблюдение за полнотекстовым поиском для экземпляра сервера.
Рекомендации по восстановлению полнотекстового каталога SQL Server 2005 (9.x)
Одним из способов обновления полнотекстовых данных из базы данных SQL Server 2005 (9.x) является восстановление полной резервной копии базы данных до нового экземпляра SQL Server.
При импорте полнотекстового каталога SQL Server 2005 (9.x) можно создать резервную копию и восстановить базу данных и файл каталога. Такое же поведение, как в SQL Server 2005 (9.x):
Полная резервная копия базы данных включает полнотекстовый каталог. Чтобы ссылаться на полнотекстовый каталог, используйте его имя файла SQL Server 2005 (9.x), sysft_+catalog-name.
Если полнотекстовый каталог находится в автономном режиме, резервную копию не удается сделать.
Дополнительные сведения о резервном копировании и восстановлении полнотекстовых каталогов SQL Server 2005 (9.x) см. в статьях «Резервное копирование и восстановление полнотекстовых каталогов» и «Резервное копирование и восстановление файлов и полнотекстовых каталогов» в электронной документации по SQL Server 2005 (9.x).
При восстановлении базы данных в более новом экземпляре SQL Server создается новый файл базы данных для полнотекстового каталога. По умолчанию данный файл имеет имя ftrow_имя-каталога.ndf. Например, если ваше имя каталогаcat1, то имя по умолчанию файла базы данных SQL Server будет ftrow_cat1.ndf. Но если имя по умолчанию уже используется в целевом каталоге, новый файл базы данных будет назван ftrow_имя-каталога{GUID}.ndf(где GUID — это глобальный уникальный идентификатор нового файла).
После импорта каталогов, sys.database_files и sys.master_files обновляются для удаления записей каталога, а столбец path в sys.fulltext_catalogs устанавливается на NULL.
Резервное копирование базы данных
- Полные резервные копии базы данных (SQL Server)
- Резервные копии журналов транзакций (SQL Server) ( только модель полного восстановления)
Восстановление резервной копии базы данных
- Полное восстановление базы данных (простая модель восстановления)
- Полное восстановление базы данных (модель полного восстановления)
Пример
В следующем примере в инструкции RESTORE используется предложение MOVE для восстановления базы данных SQL Server 2005 (9.x) под именем ftdb1. База данных, журналы и файлы каталога SQL Server 2005 (9.x) перемещаются в новые местоположения на экземпляре сервера SQL Server следующим образом:
Файл базы данных
ftdb1.mdfперемещается по адресуC:\Program Files\Microsoft SQL Server\MSSQL.1MSSQL13.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf.Файл журнала
ftdb1_log.ldfперемещается в каталог журналов на диске журналов: log_drive:\log_directory\ftdb1_log.ldf.Файлы каталогов, соответствующие каталогу
sysft_cat90, перемещаются по адресуC:\temp. После импорта полнотекстовых индексов они автоматически помещаются в файл базы данных, C:\ftrow_sysft_cat90.ndf и C:\temp будут удалены.
RESTORE DATABASE [ftdb1] FROM DISK = N'C:\temp\ftdb1.bak'
WITH FILE = 1,
MOVE N'ftdb1' TO N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\ftdb1.mdf',
MOVE N'ftdb1_log' TO N'log_drive:\log_directory\ftdb1_log.ldf',
MOVE N'sysft_cat90' TO N'C:\temp';
Присоединение базы данных SQL Server 2005
В SQL Server 2008 (10.0.x) и более поздних версиях полнотекстовый каталог представляет собой логическую концепцию, которая относится к группе полнотекстовых индексов. Полнотекстовый каталог — это виртуальный объект, который не принадлежит какой-либо файловой группе. Однако при присоединении базы данных SQL Server 2005 (9.x), содержащей файлы полнотекстового каталога к более новому экземпляру SQL Server, файлы каталога присоединяются из предыдущего расположения вместе с другими файлами базы данных, так же, как и в SQL Server 2005 (9.x).
Состояние каждого присоединенного полнотекстового каталога в SQL Server совпадает с состоянием, что и при отключении базы данных от SQL Server 2005 (9.x). Если какой-либо из полнотекстовых индексов был приостановлен операцией отсоединения, его создание возобновляется на SQL Server, и полнотекстовый индекс становится доступным для полнотекстового поиска.
Если SQL Server не удается найти файл полнотекстового каталога или если полнотекстовый файл был перемещен во время операции присоединения без указания нового расположения, поведение зависит от выбранного параметра полнотекстового обновления. Если был выбран режим обновления полнотекстового поиска Импорт или Перестроение, то присоединенный полнотекстовый каталог будет перестроен. Если был выбран режим обновления полнотекстового поиска Сброс, то присоединенный полнотекстовый каталог будет сброшен.
Дополнительные сведения об отсоединении и присоединении базы данных см. в статьях Отсоединение базы данных и присоединение (SQL Server), CREATE DATABASE, sp_attach_db и sp_detach_db.