本文讨论用于故障排除 Power BI 报表服务器计划刷新问题的资源。
常见问题
以下是安排报告刷新时可能遇到的更常见问题。
驱动程序相关问题
连接到不同的数据源可能需要安装第三方驱动程序才能成功连接。 不仅需要在使用 Power BI Desktop 的计算机上安装它们,还需要确保驱动程序安装在报表服务器上。
驱动程序也可能同时提供 32 位和 64 位。 请确保安装 64 位驱动程序,因为 Power BI 报表服务器为 64 位。
有关如何安装和配置第三方驱动程序的详细信息,请参阅制造商。
内存压力
当报表需要更多内存来处理和呈现时,可能会出现内存压力。 报表的计划刷新可能占用计算机上大量内存。 尤其是对于较大的报表。 内存压力可能导致报表故障和报表服务器本身的潜在崩溃。
如果持续遇到内存压力,可能需要通过横向扩展部署报表服务器,以便分散资源的负载。 还可以定义给定报表服务器用于使用 rsreportserver.config中的设置进行数据刷新 IsDataModelRefreshService 。使用此设置,可以将一个或多个服务器定义为前端服务器来处理按需报表,并让另一组服务器仅用于计划刷新。
有关如何监视 Analysis Services 实例的信息,请参阅 “监视 Analysis Services 实例”。
有关 Analysis Services 中的内存设置的信息,请参阅 内存属性。
Kerberos 配置
使用 Windows 凭据连接到数据源可能需要配置 Kerberos 约束委派才能成功连接。 有关如何配置 Kerberos 约束委派的详细信息,请参阅 配置 Kerberos 以使用 Power BI 报表。
已知问题
配置参数
以下设置可用于影响计划刷新。 SQL Server Management Studio(SSMS)中设置的设置适用于横向扩展部署中的所有报表服务器。 rsreportserver.config 中配置的设置适用于设置的特定服务器。
SSMS 中的设置:
| 设置 | Description |
|---|---|
| MaxFileSizeMb | 上传报表的最大文件大小。 默认值为 1,000 MB(1 GB)。 最大值为 2000 MB(2 GB)。 |
| 模型清理周期分钟数 | 定义检查模型以将其从内存中逐出的频率。 默认值为 15 分钟。 |
| 模型过期时间(分钟) | 根据上次使用的时间和被逐出的时间,定义模型的失效时间。 默认值为 60 分钟。 |
| 计划刷新超时分钟 (ScheduleRefreshTimeoutMinutes) | 定义一个模式的数据刷新最长可以持续多长时间。 默认值为 120 分钟。 没有上限。 |
rsreportserver.config中的设置:
<Configuration>
<Service>
<PollingInterval>10</PollingInterval>
<IsDataModelRefreshService>false</IsDataModelRefreshService>
<MaxQueueThreads>0</MaxQueueThreads>
</Service>
</Configuration>
故障排除工具
与 Power BI 报表的计划刷新相关的日志
保存有关计划刷新信息的日志文件是RSPowerBI_日志。 它们位于报表服务器安装位置的 LogFiles 文件夹中。
C:\Program Files\Microsoft Power BI Report Server\PBIRS\LogFiles\RSPowerBI_*.log
错误条件
2017-10-20 02:00:09.5188|ERROR|744|Error Processing Data Model Refresh: SessionId: e960c25e-ddd4-4763-aa78-0e5dceb53472, Status: Error Model can not be refreshed because not all the data sources are embedded, Exception Microsoft.PowerBI.ReportServer.AsServer.InvalidDataSourceException: Model can not be refreshed because not all the data sources are embedde
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.AnalysisServicesDataRefresh.CanModelRefresh(IEnumerable`1 dataSources)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<>c__DisplayClass7.<ExecuteActionWithLogging>b__5()
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<ExecuteFuncWithLogging>d__1`1.MoveNext()
成功刷新
2017-10-25 15:23:41.9370|INFO|6|Handling event with data: TimeEntered: 10/25/2017 8:23:41 PM, Type: Event, SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, EventType: DataModelRefresh
2017-10-25 15:23:41.9370|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Data Refresh.
2017-10-25 15:23:41.9370|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Retrieving PBIX AsDatabaseInfo.
2017-10-25 15:23:42.7134|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Verifying all the data sources are embedded.
2017-10-25 15:23:42.7134|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Verifying connection strings are valid.
2017-10-25 15:23:42.7134|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Streaming model to Analysis Server.
2017-10-25 15:23:42.7603|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Refreshing the model.
2017-10-25 15:23:51.5258|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Removing credentials from the model.
2017-10-25 15:23:51.6508|INFO|6|Processing Data Model Refresh: SessionId: 46d398db-0b1f-49d8-b7bd-c5461c07ec7a, Status: Starting Saving model to the catalog.
凭据不正确
2017-10-20 08:22:01.5595|INFO|302|Processing Data Model Refresh: SessionId: 22cd9ec3-b21a-4eb1-81ae-15fac8d379ea, Status: Starting Refreshing the model.
2017-10-20 08:22:02.3758|ERROR|302|Error Processing Data Model Refresh: SessionId: 22cd9ec3-b21a-4eb1-81ae-15fac8d379ea, Status: Error Failed to refresh the model, Exception Microsoft.AnalysisServices.OperationException: Failed to save modifications to the server. Error returned: 'The credentials provided for the SQL source are invalid. (Source at rosecatalog;reportserver.). The exception was raised by the IDbCommand interface.
'.
at Microsoft.AnalysisServices.Tabular.Model.SaveChanges(SaveOptions saveOptions)
at Microsoft.PowerBI.ReportServer.AsServer.TOMWrapper.RefreshModel(Database database)
at Microsoft.PowerBI.ReportServer.AsServer.AnalysisServicesServer.RefreshDatabase(String databaseName, IEnumerable`1 dataSources)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.AnalysisServicesDataRefresh.RefreshDatabase(AsDatabaseInfo asDatabaseInfo)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<>c__DisplayClass7.<ExecuteActionWithLogging>b__5()
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<ExecuteFuncWithLogging>d__1`1.MoveNext()
2017-10-20 08:22:02.4588|ERROR|302|Error Processing Data Model Refresh: SessionId: 22cd9ec3-b21a-4eb1-81ae-15fac8d379ea, Status: Error Failed Data Refresh, Exception Microsoft.AnalysisServices.OperationException: Failed to save modifications to the server. Error returned: 'The credentials provided for the SQL source are invalid. (Source at rosecatalog;reportserver.). The exception was raised by the IDbCommand interface.
'.
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.ExecuteActionWithLogging(Action methodToExecute, String description, String localizedDescription, String messageInFailure, RefreshInfo refreshInfo, DataAccessors dataAccessors, ReportEventType operation, Int64 size, Boolean isDataRetrieval, Boolean showInExecutionLog)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.AnalysisServicesDataRefresh.RefreshData(RefreshInfo refreshInfo)
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<>c__DisplayClass7.<ExecuteActionWithLogging>b__5()
at Microsoft.PowerBI.ReportServer.WebHost.EventHandler.DataRefreshScope.<ExecuteFuncWithLogging>d__1`1.MoveNext()
启用详细日志记录
在 Power BI 报表服务器中启用详细日志记录与 SQL Server Reporting Services 的日志记录相同。
- 打开
<install directory>\PBIRS\ReportServer\bin\ReportingServicesService.exe.config。 - 在下方
<system.diagnostics>,将 DefaultTraceSwitch 更改为 4。 - 在
<RStrace>下,将 组件 更改为 all:4。
执行日志
每当呈现 Power BI 报表或执行计划刷新计划时,新条目将添加到数据库中 的执行日志 。 这些条目在报表服务器目录数据库中的 ExecutionLog3 视图中可用。
Power BI 报表的执行日志条目不同于其他报表类型的条目。
- TimeRendering 列始终为 0。 Power BI 报表的呈现发生在浏览器中,而不是在服务器中。
- 有两种请求类型和后续项目操作:
-
交互式:每当查看报表时。
- ASModelStream:当数据模型从目录中流式传输到 Analysis Services 时。
- ConceptualSchema:当用户查看报表时。
- QueryData:每当从客户端请求数据时。
-
刷新缓存:每当执行计划的刷新任务时。
- ASModelStream:每当数据模型从目录中流式传输到 Analysis Services 时。
- DataRefresh:每当从一个或多个数据源刷新数据时。
- SaveToCatalog:每当数据模型保存回目录时。
-
交互式:每当查看报表时。
Analysis Services
有时可能需要修改 Analysis Services 来诊断问题,或调整内存限制。
重要
升级报表服务器时,这些设置会重置。 请务必保留更改的副本,并根据需要重新应用这些更改。
安装位置
Power BI 报表服务器的默认位置,Analysis Services 如下所示。
C:\Program Files\Microsoft Power BI Report Server\PBIRS\ASEngine
配置 Analysis Services 参数(msmdsrv.ini)
在 <install directory>\PBIRS\ASEngine 目录中,可以找到 msmdsrv.ini 文件,该文件可用于控制 Analysis Services 的不同设置。 打开此文件时,你会注意到,此文件没有 msmdsrv.ini 文件中预期的所有设置。
这是因为 Power BI 报表服务器所运行的实际 Analysis Services 进程是在 <install directory>\PBIRS\ASEngine\workspaces 启动的。 在该文件夹中,你将看到你熟悉的完整 msmdsrv.ini 文件。 请务必不要修改工作区文件夹中的文件,因为每当 Analysis Services 进程启动时重写该文件。 如果要控制设置,请通过在<install directory>\PBIRS\ASEngine目录中修改msmdsrv.ini来完成此操作。
启动 Analysis Services 进程时,将重置以下设置。 将忽略您对这些所做的任何更改。
- ConfigurationSettings\PrivateProcess
- ConfigurationSettings\DataDir
- ConfigurationSettings\LogDir
- ConfigurationSettings\TempDir
- ConfigurationSettings\BackupDir
- ConfigurationSettings\AllowedBrowsingFolders
- ConfigurationSettings\CrashReportsFolder (配置设置\崩溃报告文件夹)
- ConfigurationSettings\ExtensionDir
- 配置设置\Port
- ConfigurationSettings\DeploymentMode
- ConfigurationSettings\ServerLocation
- ConfigurationSettings\TMCompatabilitySKU
- ConfigurationSettings\FlightRecorder\TraceDefinitionFile
分析本地 Analysis Services 进程
可以在本地 Analysis Services 进程中运行 SQL 探查器跟踪,以便进行诊断。 若要连接到本地 Analysis Services 实例,请执行以下操作。
SQL Server Profiler 跟踪随 SQL Server Management Studio(SSMS)下载一起提供。
- 以管理员身份启动 SQL Server Profiler 。
- 选择“ 新建跟踪 ”按钮。
- 在 “连接到服务器 ”对话框中,选择 Analysis Services 并输入 localhost:5132 以获取服务器名称。
- 在 “跟踪属性 ”对话框中,选择要捕获的事件,然后选择“ 运行”。
在 Windows 中锁定内存页面的权限
如果发现无法呈现 Power BI 报表,请将 “锁定页内存中” 权限分配给运行 Power BI 报表服务器的服务帐户可能会有所帮助。 有关如何 在内存中配置锁定页的详细信息,请参阅 分配给 Analysis Services 服务帐户的 Windows 权限。
更多问题? 尝试咨询 Power BI 社区