Поделиться через


Поставщик OLE DB для службы Microsoft Indexing Service

Microsoft ОС и включают службы Microsoft Internet Information Services (IIS) и Microsoft Indexing Service. Эти службы позволяют фильтровать файлы на основе их свойств, а также выполнять полнотекстовое индексирование и извлечение данных из файлов.

Кроме того, в состав службы Indexing Service входит поставщик Microsoft OLE DB для службы Microsoft Indexing Service. Он позволяет выполнять полнотекстовый поиск или поиск значений свойств в файлах, не относящихся к базам данных. Определение связанного сервера можно создать при помощи хранимой процедуры sp_addlinkedserver, а настроить систему обеспечения безопасности — с использованием хранимой процедуры среды SQL Server Management Studio. После этого в распределенных запросах можно обращаться к поставщику для получения индексированных данных.

Создание связанного сервера для доступа к полнотекстовому индексу службы Indexing Service

  1. Создайте полнотекстовый индекс, используя службу Indexing Service. По умолчанию служба Indexing Service создает при этом каталог с именем default. Дополнительные сведения см. в документации по службе Indexing Service.

  2. Выполните для создания связанного сервера хранимую процедуру sp_addlinkedserver, указав в качестве имени_поставщика MSIDXS, а в качестве источника_данных имя полнотекстового индекса.

    Например, чтобы создать связанный сервер с именем FTIndexWeb, использующий полнотекстовый индекс Web, выполните следующий код:

    sp_addlinkedserver FTIndexWeb, 'Index Server', 'MSIDXS', 'Web'
    
  3. Авторизация клиентов службы Indexing Service основана на анализе учетной записи Windows процесса, пользующегося услугами поставщика OLE DB для службы Microsoft Indexing Service. В случае прошедших авторизацию имен входа SQL Server распределенные запросы выполняются в контексте процесса SQL Server 2005. Так как SQL Server обычно выполняется в контексте учетной записи с высоким уровнем авторизации, прошедшие проверку подлинности пользователи SQL Server, работающие со связанным сервером Indexing Service, могут получить доступ к данным, обращаться к которым они не имеют права. Элементы фиксированной серверной роли sysadmin решают эту проблему, строго контролируя имена входа SQL Server, имеющие право на выполнение распределенных запросов, в которых используется связанный сервер Indexing Service.

    Сначала администратор выполняет хранимую процедуру sp_droplinkedsrvlogin для удаления всех сопоставлений имен входа со связанным сервером Indexing Service, например:

    sp_droplinkedsrvlogin FTIndexWeb, NULL
    

    После этого администратор с помощью хранимой процедуры sp_addlinkedsrvlogin предоставляет конкретным именам входа право на доступ к связанному серверу, например:

    sp_addlinkedsrvlogin FTIndexWeb, true, 'SomeLogin'
    

    Чтобы выполнить эти действия, щелкните правой кнопкой мыши связанный сервер в среде SQL Server Management Studio, выберите пункт Свойства, а затем перейдите на вкладку Безопасность.

В инструкциях Transact-SQL можно вызывать функцию OPENQUERY для отправления команд службе Indexing Service с использованием синтаксиса SQL, согласованного с реализованным в SQL Server синтаксисом полнотекстового поиска данных в базе данных. Синтаксис полнотекстовых запросов SQL, поддерживаемый службой Indexing Service, определен в руководстве по программированию сервера индексирования, которое можно найти в сети Microsoft Development Network или в документации по службе Indexing Service.

См. также

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

Распределенные запросы
Поставщики OLE DB, проверенные в работе с SQL Server

Другие ресурсы

sp_addlinkedsrvlogin (Transact-SQL)
sp_droplinkedsrvlogin (Transact-SQL)
sp_addlinkedserver (Transact-SQL)

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

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