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


Службы интеллектуального анализа данных и источники данных

Применимо к: SQL Server 2019 и более ранних версий Analysis Services Azure Analysis Services Fabric/Power BI Premium

Важно!

Интеллектуальный анализ данных не рекомендуется использовать в службах SQL Server 2017 Analysis Services, а в SQL Server 2022 Analysis Services его поддержка прекращена. Документация не обновляется для устаревших и неподдерживаемых функций. Дополнительные сведения см. в статье об обратной совместимости служб Analysis Services.

Для интеллектуального анализа данных требуется соединение с экземпляром служб SQL Server Analysis Services. Данные из куба не требуются для интеллектуального анализа данных, и рекомендуется использовать реляционные источники; однако интеллектуальный анализ данных использует компоненты, предоставляемые подсистемой SQL Server Analysis Services.

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

Службы интеллектуального анализа данных

Серверным компонентом Microsoft SQL Server SQL Server Analysis Services является приложение msmdsrv.exe, которое обычно выполняется как служба Windows. Оно состоит из компонентов безопасности, компонента прослушивания XML для аналитики (XMLA), компонента обработчика запросов и множества других внутренних компонентов, выполняющих следующие функции:

  • Синтаксический анализ инструкций, получаемых от клиентов

  • Управление метаданными

  • Обработка транзакций

  • Обработка вычислений

  • Сохранение измерения и данных ячеек

  • Создание агрегатов

  • Планирование запросов

  • Кэширование объектов

  • Управление ресурсами сервера

Прослушиватель XML для аналитики

Компонент прослушивателя XMLA обрабатывает все обмены данными XMLA между SQL Server Analysis Services и его клиентами. Параметр конфигурации порта SQL Server Analysis Services в файле msmdsrv.ini можно использовать для указания порта, на котором экземпляр SQL Server Analysis Services прослушивает. Значение 0 в этом файле указывает, что SQL Server Analysis Services прослушивать порт по умолчанию. Если не указано иное, SQL Server Analysis Services использует следующие TCP-порты по умолчанию:

Порт Описание
2383 Экземпляр SQL Server SQL Server Analysis Services по умолчанию.
2382 Перенаправление для других экземпляров SQL Server SQL Server Analysis Services.
Динамически назначается при запуске сервера Именованный экземпляр SQL Server SQL Server Analysis Services.

Дополнительные сведения об управлении портами, используемыми этой службой, см. в разделе Настройка брандмауэра Windows на разрешение доступа к службам Analysis Services.

Подключение к источникам данных

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

Описание требований для соединения с каждым из этих источников выходит за рамки этого раздела. Дополнительные сведения см. в документации для поставщика. Однако, взаимодействуя с поставщиками, следует помнить о следующих требованиях служб Analysis Services.

  • Так как интеллектуальный анализ данных — это служба, предоставляемая сервером, экземпляру SQL Server Analysis Services необходимо предоставить доступ к источнику данных. У такого доступа есть два аспекта: расположение и идентификатор.

    Расположение означает, что если создать модель, которая использует только данные на локальном компьютере, а затем развернуть ее на сервере, то модель не сможет работать, так как не найдет источник данных. Чтобы устранить эту проблему, может потребоваться перенести данные в тот же экземпляр SQL Server, где выполняется SQL Server Analysis Services, или переместить файлы в общее расположение.

    Удостоверение означает, что службы на SQL Server Analysis Services должны иметь возможность открыть файл данных или источник данных с соответствующими учетными данными. Например, на момент создания модели у вас могли быть неограниченные права на просмотр данных, но у пользователя, который обрабатывает и обновляет модели, права доступа к данным могут быть ограничены, либо их может не быть вообще, что не позволит выполнить обработку или повлияет на содержимое модели. Для подключения к удаленному источнику данных учетная запись должна, как минимум, иметь разрешения на чтение данных.

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

Настройка разрешений и свойств сервера

Для интеллектуального анализа данных требуются дополнительные разрешения на SQL Server Analysis Services базу данных. Большинство свойств интеллектуального анализа данных можно задать с помощью диалогового окна Свойства сервера анализа данных (службы Analysis Services).

Дополнительные сведения о свойствах, которые можно настроить, см. в разделе Свойства сервера в службах Analysis Services.

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

  • AllowAdHocOpenRowsetQueries Управляет нерегламентированным доступом к поставщикам OLE DB, которые загружаются непосредственно в оперативную память сервера.

    Важно!

    Чтобы повысить безопасность, рекомендуется присвоить этому свойству значение false. Значение по умолчанию — false. Однако, если это свойство имеет значение false, пользователи могут продолжать создавать одноэлементные запросы и использовать функцию OPENQUERY в разрешенных источниках данных.

  • AllowedProvidersInOpenRowset Задает поставщика, если включен нерегламентированный доступ. Можно указать нескольких поставщиков, введя список идентификаторов ProgID с разделителями-запятыми.

  • MaxConcurrentPredictionQueries Управляет нагрузкой сервера, вызываемой прогнозами. Значение по умолчанию 0 разрешает неограниченное количество запросов для SQL Server Enterprise и не более пяти одновременных запросов для SQL Server Standard. Лишние запросы сериализуются и могут превысить время ожидания.

Сервер предоставляет дополнительные свойства, управляющие доступностью алгоритмов интеллектуального анализа данных, включая все ограничения алгоритмов, и настройками по умолчанию всех служб интеллектуального анализа данных. Тем не менее, не имеется параметров, управляющих доступом к хранимым процедурам интеллектуального анализа данных. Дополнительные сведения см. в статье Data Mining Properties.

Можно также установить свойства, позволяющие тонко настраивать сервер и управлять безопасностью использования клиента. Дополнительные сведения см. в статье Feature Properties.

Примечание

Дополнительные сведения о поддержке подключаемых алгоритмов в выпусках SQL Server см. в разделе Функции, поддерживаемые выпусками SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

Программный доступ к объектам интеллектуального анализа данных

Можно использовать следующие модели объектов для создания соединения с базой данных служб Analysis Services и работы с объектами интеллектуального анализа данных.

ADO Использует OLE DB для соединения с сервером служб Analysis Services. При использовании ADO клиент ограничен запросами к набору строк схемы и инструкциями DMX.

ADO.NET Эффективнее взаимодействует с поставщиками SQL Server, чем с другими поставщиками. Использует адаптеры обработки данных для хранения динамических наборов строк. Использует объект набора данных, представляющий собой кэш данных сервера, хранящихся в виде таблиц данных, которые можно обновлять и сохранять в XML-формате.

ADOMD.NET Управляемый поставщик данных, который оптимизируется для работы с интеллектуальным анализом данных и OLAP. ADOMD.NET быстрее ADO.NET и более эффективно использует память. ADOMD.NET также позволяет получать метаданные серверных объектов. Рекомендуется для клиентских приложений, за исключением случаев, когда отсутствует платформа .NET.

Сервер ADOMD Модель объектов для доступа к объектам служб Analysis Services непосредственно на сервере. Используется хранимыми процедурами служб Analysis Services, не предназначена для клиентов.

AMO Интерфейс управления для служб Analysis Services, заменяющий объекты DSO. Такие операции, как просмотр объектов, требуют более высоких разрешений при применении объектов AMO, чем при использовании других интерфейсов. Это объясняется тем, что объекты AMO получают прямой доступ к метаданным, в то время как ADOMD.NET и другие интерфейсы получают доступ только к схемам баз данных.

Доступ к серверам для просмотра и запросов

Можно выполнять все виды прогнозов, используя экземпляр служб Analysis Services в режиме OLAP/интеллектуального анализа данных со следующими ограничениями.

  • Если используется сервер ADOMD, можно использовать расширения интеллектуального анализа данных для доступа к серверу без соединения. Затем можно скопировать результаты прямо в таблицу данных. Но сервер ADOMD не используется с удаленными экземплярами, можно выполнять запросы только к локальному серверу.

  • ADO.NET не поддерживает именованные параметры интеллектуального анализа данных. Необходимо использовать ADOMD.NET.

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

Использование хранимых процедур интеллектуального анализа данных

Хранимые процедуры обычно используются, чтобы инкапсулировать запросы для повторного применения. Клиент может использовать CALL для выполнения хранимых процедур, включая SQL Server Analysis Services системные хранимые процедуры.

Если процедура возвратит набор данных, клиент получит набор данных или таблицу данных с вложенной таблицей, содержащей строки. Например, если создать запрос к содержимому модели, запрос вернет всю модель. Чтобы не получать слишком много строк, можно написать хранимую процедуру с помощью объектной модели ADOMD+.

Чтобы написать серверную хранимую процедуру, необходимо сослаться на пространство имен Microsoft.AnalysisServices.AdomdServer. Дополнительные сведения о создании и использовании хранимых процедур см. в разделе User Defined Functions and Stored Procedures.

Примечание

Хранимые процедуры нельзя использовать для изменения безопасности в серверных объектах базы данных. При выполнении хранимой процедуры для определения доступа ко всем серверным объектам используется текущий контекст пользователя. Поэтому пользователи должны иметь соответствующие разрешения для всех объектов базы данных, к которым они получают доступ.

См. также:

Физическая архитектура (службы Analysis Services — многомерные данные)
Физическая архитектура (службы Analysis Services — интеллектуальный анализ данных)
Управление решениями и объектами интеллектуального анализа данных