Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Конечные точки XMLA в Power BI используют собственный протокол связи Служб Analysis Services для доступа к семантическим моделям Power BI. Из-за этого устранение неполадок конечной точки XMLA во многом похоже на устранение неполадок типичного подключения к службам Analysis Services. Однако с зависимостями Power BI имеются некоторые различия.
Перед тем как начать
Прежде чем устранять неполадки в сценарии с конечной точкой XMLA, изучите основные моменты подключения к семантической модели с конечной точкой XMLA. Наиболее распространенные варианты использования конечной точки XMLA рассматриваются здесь. Другие руководства по устранению неполадок Power BI, такие как устранение неполадок шлюзов — Power BI и анализ неполадок в Excel, также могут быть полезными.
Включение конечной точки XMLA
Конечная точка XMLA может быть включена в емкостях Power BI Premium, Premium на пользователя и Power BI Embedded. В небольших емкостях, таких как емкость A1 с размером всего 2,5 ГБ памяти, при попытке задать конечную точку XMLA на Чтение/Запись, а затем нажмите Применить. Сообщение об ошибке "Возникла проблема с параметрами рабочей нагрузки. Повторите попытку в некоторое время.
Вот несколько вещей, которые нужно попробовать:
- Ограничьте потребление памяти других служб в пределах емкости, например таких, как потоки данных, до 40% или меньше, или полностью отключите ненужную службу.
- Обновите емкость до более крупного номера SKU. Например, обновление с A1 до емкости A3 решает эту проблему конфигурации, не отключая потоки данных.
Помните, что необходимо также включить параметр экспорта данных на уровне клиента на портале администрирования Power BI. Этот параметр также необходим для функции "Анализ в Excel".
Установление соединения с клиентом
После активации конечной точки XMLA рекомендуется проверить подключение к рабочей области на мощностном ресурсе. Дополнительные сведения см. в статье "Подключение к рабочей области Premium". Кроме того, обязательно ознакомьтесь с разделом "Требования к подключению" для полезных советов и сведений о текущих ограничениях подключения XMLA.
Подключение к служебному принципалу
Если вы включили параметры клиента, чтобы разрешить субъектам-службам использовать API Power BI, как описано в разделе "Включение субъектов-служб", вы можете подключиться к конечной точке XMLA с помощью субъекта-службы. Помните, что субъект-служба требует того же уровня разрешений доступа на уровне рабочей области или семантической модели, что и обычные пользователи.
Чтобы использовать служебный участник, обязательно укажите идентификационные данные приложения в строке подключения в следующем формате:
- Идентификатор пользователя - app:appid@tenantid
-
Пароль
cert:thumbprint (рекомендуется для безопасности)
Data Source=powerbi://api.powerbi.com/v1.0/myorg/Contoso;Initial Catalog=PowerBI_Dataset;User ID=app:<appid>;Password=cert:<thumbprint>;- Секрет приложения
Data Source=powerbi://api.powerbi.com/v1.0/myorg/Contoso;Initial Catalog=PowerBI_Dataset;User ID=app:<appid>;Password=<secret>;
Если вы получите следующую ошибку:
"Невозможно подключиться к семантической модели из-за неполных сведений об учетной записи. Для субъектов-служб обязательно укажите идентификатор клиента вместе с идентификатором приложения с помощью формата app:<appId>@<tenantId>, а затем повторите попытку".
Убедитесь, что идентификатор клиента указан вместе с идентификатором приложения, используя правильный формат.
Также допустимо указать идентификатор приложения без идентификатора клиента. Однако в этом случае необходимо заменить myorg псевдоним в URL-адресе источника данных фактическим идентификатором клиента. Затем Power BI может найти субъект-службу в правильном клиенте. Но, как рекомендуется, используйте myorg псевдоним и укажите идентификатор клиента вместе с идентификатором приложения в параметре идентификатора пользователя.
Подключение к Microsoft Entra B2B
С поддержкой Microsoft Entra business-to-business (B2B) в Power BI можно предоставить внешним гостевым пользователям доступ к семантической модели через конечную точку XMLA. Убедитесь, что на портале администрирования Power BI включен параметр общего доступа к содержимому с внешними пользователями . Дополнительные сведения см. в статье Распространение содержимого Power BI внешним гостевым пользователям с помощью Microsoft Entra B2B.
Развертывание семантической модели
Проект табличной модели можно развернуть в Visual Studio (SSDT) в рабочей области, назначенной для вместимости класса Premium, аналогично развертыванию на сервере в Аналитических службах Azure. Однако при развертывании существуют некоторые дополнительные рекомендации. Обязательно просмотрите раздел «Развертывание проектов модели из Visual Studio (SSDT)» в статье о подключении семантической модели с конечной точкой XMLA.
Развертывание новой модели
В конфигурации по умолчанию Visual Studio пытается обработать модель в рамках операции развертывания, чтобы загрузить данные в семантику модели из источников данных. Как описано в разделе "Развертывание проектов модели из Visual Studio (SSDT)", эта операция может завершиться ошибкой, так как учетные данные источника данных не могут быть указаны в рамках операции развертывания. Вместо этого, если учетные данные для источника данных еще не определены для существующих семантических моделей, необходимо указать учетные данные источника данных в параметрах семантической модели с помощью пользовательского интерфейса Power BI (Семантические модели>Параметры>Учетные данные источника данных>Редактировать учетные данные). Определив учетные данные источника данных, Power BI может автоматически применить учетные данные к этому источнику данных для любой новой семантической модели после успешного развертывания метаданных и создания семантической модели.
Если Power BI не может привязать новую семантику к учетным данным источника данных, появится сообщение об ошибке "Не удается обработать базу данных. Причина. Не удалось сохранить изменения на сервере с кодом ошибки "DMTS_DatasourceHasNoCredentialError":
Чтобы избежать сбоя обработки, задайте Параметры развертывания и > на Не обрабатывать, как показано на следующем рисунке. Затем Visual Studio развертывает только метаданные. Затем можно настроить учетные данные источника данных и нажать кнопку "Обновить сейчас " для семантической модели в пользовательском интерфейсе Power BI.
Новый проект из существующей семантической модели
Создание табличного проекта в Visual Studio путем импорта метаданных из существующей семантической модели не поддерживается. Однако вы можете подключиться к семантической модели с помощью среды SQL Server Management Studio, создать скрипт метаданных и повторно использовать их в других табличных проектах.
Перенос семантической модели в Power BI
Рекомендуется указать уровень совместимости 1500 (или выше) для табличных моделей. Этот уровень совместимости поддерживает большинство возможностей и типов источников данных. Более поздние уровни совместимости обратно совместимы с более ранними уровнями.
Поддерживаемые поставщики данных
На уровне совместимости 1500 Power BI поддерживает следующие типы источников данных:
- Источники данных поставщика (с устаревшей строкой подключения в метаданных модели).
- Структурированные источники данных (представленные на уровне совместимости 1400).
- Встроенные объявления источников данных M (как power BI Desktop объявляет их).
Рекомендуется использовать структурированные источники данных, которые Visual Studio по умолчанию создает при переходе по потоку данных импорта. Однако если вы планируете перенести существующую модель в Power BI, использующую источник данных поставщика, убедитесь, что источник данных поставщика зависит от поддерживаемого поставщика данных. В частности, драйвер Microsoft OLE DB для SQL Server и любые сторонние драйверы ODBC. Для OLE DB драйвера для SQL Server необходимо изменить определение источника данных на поставщика данных .NET Framework для SQL Server. Для сторонних драйверов ODBC, которые могут быть недоступны в службе Power BI, необходимо переключиться на определение структурированного источника данных.
Также рекомендуется заменить устаревший драйвер Microsoft OLE DB для SQL Server (SQLNCLI11) в определениях источников данных SQL Server поставщиком данных .NET Framework для SQL Server.
В следующей таблице приведен пример строки подключения поставщика данных .NET Framework для SQL Server, заменяющей соответствующую строку подключения для драйвера OLE DB для SQL Server.
| OLE DB Driver (драйвер) для SQL Server (сервер) | Поставщик данных .NET Framework для SQL Server |
|---|---|
Provider=SQLNCLI11;Data Source=sqldb.database.windows.net;Initial Catalog=AdventureWorksDW;Trusted_Connection=yes; |
Data Source=sqldb.database.windows.net;Initial Catalog=AdventureWorksDW2016;Integrated Security=SSPI;Encrypt=true;TrustServerCertificate=false |
Перекрестные ссылки на источники разделов
Просто так, как существуют различные типы источников данных, табличная модель также может включать разные типы источников разбиений для импорта данных в таблицу. В частности, секция может использовать источник секции запроса или источник секции M. Эти типы источников разделов, в свою очередь, могут ссылаться на данные поставщиков или структурированные источники данных. Хотя табличные модели в Службах Azure Analysis Services поддерживают перекрестные ссылки на различные типы данных и разбиения на разделы, Power BI вводит более строгие ограничения. Источники секций запросов должны ссылаться на источники данных поставщика, а источники секций M должны ссылаться на структурированные источники данных. Другие сочетания не поддерживаются в Power BI. Если вы хотите перенести семантику перекрестной ссылки, в следующей таблице описаны поддерживаемые конфигурации:
| Источник данных | Источник раздела | Comments | Поддерживается конечной точкой XMLA |
|---|---|---|---|
| Источник данных поставщика | Источник раздела запроса | Движок AS использует стек подключения на основе картриджей для доступа к источнику данных. | Да |
| Источник данных поставщика | Источник раздела M | Подсистема AS преобразует источник данных поставщика в универсальный структурированный источник данных, а затем использует подсистему Mashup для импорта данных. | нет |
| Структурированный источник данных | Источник раздела запроса | Движок AS оборачивает собственный запрос на источник раздела в выражение M, а затем использует движок Mashup для импорта данных. | нет |
| Структурированный источник данных | Источник раздела M | Подсистема AS использует подсистему Mashup для импорта данных. | Да |
Источники данных и олицетворение
Параметры олицетворения, которые можно определить для источников данных поставщика, не относятся к Power BI. Power BI использует другой механизм на основе параметров семантической модели для управления учетными данными источника данных. По этой причине при создании источника данных поставщика убедитесь, что выбрана учетная запись службы .
Детализированная обработка
При активации запланированного обновления или обновления по запросу в Power BI Power BI обычно обновляет всю семантику модели. Во многих случаях более эффективно выполнять обновления более выборочно. Вы можете выполнять детализированные задачи обработки в SQL Server Management Studio (SSMS), как показано на следующем рисунке, или с помощью сторонних средств или сценариев.
Переопределения команды Refresh TMSL
Переопределения в команде обновления (TMSL) позволяют пользователям выбирать другое определение запроса секции или определение источника данных для операции обновления.
Подписки электронной почты
Семантические модели, обновляемые с помощью конечной точки XMLA, не активируют подписку электронной почты.
Ошибки в мощности Premium
Ошибка подключения к серверу в SSMS
При подключении к рабочей области Power BI с sql Server Management Studio (SSMS) может отображаться следующая ошибка:
TITLE: Connect to Server
------------------------------
Cannot connect to powerbi://api.powerbi.com/v1.0/[tenant name]/[workspace name].
------------------------------
ADDITIONAL INFORMATION:
The remote server returned an error: (400) Bad Request.
Technical Details:
RootActivityId:
Date (UTC): 10/6/2021 1:03:25 AM (Microsoft.AnalysisServices.AdomdClient)
------------------------------
The remote server returned an error: (400) Bad Request. (System)
При подключении к рабочей области Power BI с помощью SSMS убедитесь в следующем:
- Параметр конечной точки XMLA включен для производительности арендатора. Дополнительные сведения см. в разделе "Включить чтение и запись XMLA".
- Включено разрешение конечных точек XMLA и анализ в Excel с локальными семантическими моделями в параметрах клиента.
- Вы используете последнюю версию SSMS. Скачайте последнюю версию.
Выполнение запросов в SSMS
При подключении к рабочей области в Power BI Premium или емкости Power BI Embedded среда SQL Server Management Studio может отобразить следующую ошибку:
Executing the query ...
Error -1052311437: We had to move the session with ID '<Session ID>' to another Power BI Premium node. Moving the session temporarily interrupted this trace - tracing will resume automatically as soon as the session has been fully moved to the new node.
Это информационное сообщение, которое можно игнорировать в SSMS 18.8 и более поздних версиях, так как клиентские библиотеки повторно подключаются автоматически. Обратите внимание, что клиентские библиотеки, установленные с SSMS версии 18.7.1 или ниже, не поддерживают трассировку сеансов. Скачайте последнюю версию SSMS.
Выполнение большой команды с помощью конечной точки XMLA
При выполнении большой команды с помощью конечной точки XMLA может возникнуть следующая ошибка:
Executing the query ...
Error -1052311437:
The remote server returned an error: (400) Bad Request.
Technical Details:
RootActivityId: 3716c0f7-3d01-4595-8061-e6b2bd9f3428
Date (UTC): 11/13/2020 7:57:16 PM
Run complete
При использовании SSMS версии 18.7.1 или более поздней для выполнения длительной операции обновления (>1 мин) в семантической модели в емкости Power BI Premium или Power BI Embedded SSMS может отобразить эту ошибку, даже если операция обновления выполнена успешно. Это связано с известной проблемой в клиентских библиотеках, где состояние запроса обновления неправильно отслеживается. Это разрешено в SSMS 18.8 и более поздних версиях. Скачайте последнюю версию SSMS.
Эта ошибка также может возникать, когда очень большой запрос необходимо перенаправить на другой узел в кластере Premium. Часто это происходит при попытке создать или изменить семантику модели с помощью большого скрипта TMSL. В таких случаях ошибку обычно можно избежать, указав начальный каталог в имя базы данных перед выполнением команды.
При создании новой базы данных можно создать пустую семантическую модель, например:
{
"create": {
"database": {
"name": "DatabaseName"
}
}
}
После создания новой семантической модели укажите начальный каталог и внесите изменения в семантику.
Другие клиентские приложения и инструменты
Клиентские приложения и средства, такие как Excel, Power BI Desktop, SSMS или внешние средства, подключающиеся к семантическим моделям в Power BI Premium, могут вызвать следующую ошибку: удаленный сервер вернул ошибку: (400) Недопустимый запрос. Ошибка может быть вызвана, особенно если базовый запрос DAX или команда XMLA выполняются длительное время. Чтобы устранить потенциальные ошибки, обязательно используйте самые последние приложения и средства, устанавливающие последние версии клиентских библиотек служб Analysis Services с регулярными обновлениями. Независимо от используемого приложения или инструмента, минимальные необходимые версии клиентской библиотеки для подключения и работы с семантическими моделями через конечную точку XMLA в емкости Premium:
| Клиентская библиотека | Версия |
|---|---|
| MSOLAP | 15.1.65.22 |
| АМО | 19.12.7.0 |
| ADOMD | 19.12.7.0 |
Редактирование членства в ролях в SSMS
При использовании SQL Server Management Studio (SSMS) версии 18.8 для изменения членства в роли в семантической модели SSMS может отобразить следующую ошибку:
Failed to save modifications to the server.
Error returned: 'Metadata change of current operation cannot be resolved, please check the command or try again later.'
Это связано с известной проблемой в REST API служб приложений. Пока не будет разрешено, чтобы обойти эту ошибку, в свойствах роли нажмите кнопку "Скрипт", а затем введите и выполните следующую команду TMSL:
{
"createOrReplace": {
"object": {
"database": "AdventureWorks",
"role": "Role"
},
"role": {
"name": "Role",
"modelPermission": "read",
"members": [
{
"memberName": "xxxx",
"identityProvider": "AzureAD"
},
{
"memberName": “xxxxâ€
"identityProvider": "AzureAD"
}
]
}
}
}
Ошибка публикации — семантическая модель динамического подключения
При повторной публикации динамической семантической модели с использованием соединителя Служб Analysis Services может появиться следующая ошибка: "Существует существующая модель отчета или семантики с тем же именем. Удалите или переименуйте существующую семантику и повторите попытку".
Не удалось опубликовать в Power BI из-за ошибки.
Это связано с семантической моделью, опубликованной с другой строкой подключения, но с тем же именем, что и существующая семантическая модель. Чтобы устранить эту проблему, удалите или переименуйте существующую семантику. Кроме того, не забудьте повторно опубликовать все приложения, зависящие от отчета. При необходимости подчиненные пользователи должны быть проинформированы об обновлении закладок с новым адресом отчета, чтобы убедиться, что они получают доступ к последнему отчету.
Подключённая в реальном времени семантическая модель не может быть загружена
Пользователи, пытающиеся создать новую модель Live Connected или открыть существующую модель Live Connected с помощью версий Power BI Desktop за март 2024 г. или более поздней версии, могут столкнуться с ошибкой, аналогичной следующему: "Не удалось подключиться к модели в службе Power BI. Возможно, набор данных удален, переименован, перемещен или не имеет разрешения на доступ к нему".
Эта ошибка может возникать, если прокси-сервер настроен в среде пользователя, а прокси-сервер запрещает доступ к службе Power BI. Начиная с версии Power BI Desktop за март 2024 г., среда пользователя должна разрешить подключения к службе Power BI на конечной точке *.pbidedicated.windows.net или на соответствующих конечных точках службы Power BI для суверенных облаков.
Чтобы проверить, является ли проблема результатом параметров прокси-сервера, попробуйте использовать соединитель SQL Server Analysis Services в Power BI Desktop или любое стандартное или стороннее средство, например SQL Server Management Studio, для подключения к любой рабочей области премиум.
Дополнительные сведения о тестировании общего подключения XML/A см. в разделе об установке подключения клиента в этой статье.
Не удается открыть рабочую книгу Excel
Книга Excel может не открыться с ошибкой "Сбой инициализации источника данных. Проверьте сервер базы данных или обратитесь к администратору базы данных. Если книга содержит подключение к семантической модели Power BI, проверьте, содержит ли строка подключения свойство Catalog Rebound=True. Если свойство найдено, удалите его, сохраните рабочую книгу и повторите попытку открыть ее.
Свойство "Catalog Rebound=True" автоматически добавляется поставщиком OLE DB служб Analysis Services (MSOLAP) в более новых версиях Excel, когда подключение к семантической модели Power BI оптимизировано поставщиком. Так как свойство сохраняется в книге, при открытии той же книги в Excel, которая использует старую версию поставщика, которая не поддерживает оптимизацию, Excel не сможет открыть книгу.
"Возврат каталога" предназначен только для внутреннего использования.
Псевдоним для рабочей области/сервера
В отличие от Azure Analysis Services, псевдонимы серверане поддерживаются для рабочих областей Premium.
DISCOVER_M_EXPRESSIONS
Представление управления данными (DMV) DISCOVER_M_EXPRESSIONS в настоящее время не поддерживается в Power BI с помощью конечной точки XMLA. Приложения могут использовать табличную объектную модель (TOM) для получения выражений M, используемых моделью данных.
Ограничение памяти команд управления ресурсами в категории "Премиум"
Емкости класса Premium используют управление ресурсами, чтобы гарантировать, что одна семантическая модель не может превышать объем доступных ресурсов памяти для емкости, определяемой номером SKU. Например, подписка P1 имеет эффективное ограничение памяти для каждого элемента в 25 ГБ, для подписки P2 ограничение составляет 50 ГБ, а для подписки P3 ограничение составляет 100 ГБ. Помимо размера семантической модели (базы данных), эффективное ограничение памяти также применяется к операциям базовой семантической модели, таким как Create, Alter и Refresh.
Эффективное ограничение памяти для команды основано на меньшем пределе памяти емкости (определяется номером SKU) или значением свойства DBpropMsmdRequestMemoryLimit XMLA.
Например, для емкости P1, если:
- DbpropMsmdRequestMemoryLimit = 0 (или не указано), эффективное ограничение памяти для команды составляет 25 ГБ.
- DbpropMsmdRequestMemoryLimit = 5 ГБ, эффективное ограничение памяти для команды составляет 5 ГБ.
- DbpropMsmdRequestMemoryLimit = 50 ГБ, эффективное ограничение памяти для команды составляет 25 ГБ.
Как правило, эффективное ограничение памяти для команды вычисляется на памяти, разрешенной для семантической модели емкостью (25 ГБ, 50 ГБ, 100 ГБ) и объемом памяти, которую уже использует семантическая модель при запуске команды. Например, семантическая модель с использованием 12 ГБ емкости P1 позволяет использовать эффективное ограничение памяти для новой команды размером 13 ГБ. Однако эффективное ограничение памяти может быть дополнительно ограничено свойством DbPropMsmdRequestMemoryLimit XMLA, если при необходимости указано приложением. Используя предыдущий пример, если в свойстве DbPropMsmdRequestMemoryLimit указано 10 ГБ, то эффективное ограничение команды уменьшается до 10 ГБ.
Если операция команды пытается использовать больше памяти, чем разрешено ограничением, операция может завершиться ошибкой и возвращается ошибка. Например, следующая ошибка описывает эффективное ограничение памяти в 25 ГБ (емкость P1), так как семантическая модель уже потребила 12 ГБ (12288 МБ) при запуске команды, а для выполнения команды было применено эффективное ограничение в 13 ГБ (13312 МБ):
Resource governing: This operation was canceled because there wasn’t enough memory to finish running it. Either increase the memory of the Premium capacity where this semantic model is hosted or reduce the memory footprint of your semantic model by doing things like limiting the amount of imported data. More details: consumed memory 13312 MB, memory limit 13312 MB, database size before command execution 12288 MB. Learn more: https://go.microsoft.com/fwlink/?linkid=2159753.
В некоторых случаях, как показано в следующей ошибке, "потребляемая память" составляет 0, но сумма, показанная для параметра "Размер базы данных перед выполнением команды", уже больше, чем эффективное ограничение памяти. Это означает, что операция не удалось начать выполнение, так как объем памяти, уже используемый семантической моделью, превышает предел памяти для SKU.
Resource governing: This operation was canceled because there wasn't enough memory to finish running it. Either increase the memory of the Premium capacity where this semantic model is hosted or reduce the memory footprint of your semantic model by doing things like limiting the amount of imported data. More details: consumed memory 0 MB, memory limit 25600 MB, database size before command execution 26000 MB. Learn more: https://go.microsoft.com/fwlink/?linkid=2159753.
Общие сведения об ошибках памяти и восстановлении
Балансировка нагрузки между семантических моделей управляется системой автоматически. Ошибки памяти, как описаны здесь, могут возникать временно в периоды высокого спроса на емкость. В большинстве случаев система быстро восстанавливается по мере того, как ресурсы памяти становятся доступными. Если возникла ошибка памяти, подождите минуту и повторите операцию.
Если ошибки памяти сохраняются или возникают часто, это означает, что емкость может потребовать дополнительных ресурсов или оптимизации. В таких случаях рассмотрите следующие стратегии устранения рисков или обратитесь в службу поддержки Майкрософт, чтобы помочь в оптимизации размера емкости и оптимизации рабочей нагрузки.