实时 SSAS 表格连接的 Power BI 网关问题

Power BI gateway issue with live SSAS Tabular connection

我们无法使用网关从 Powerbi.com 实时 SSAS 表格连接进行连接。以下是一些背景细节:

网关看起来不错。我们收到消息 "Online: You are good to go."

数据源看起来不错:"Connection Successful"

但是当我进入 Powerbi.com: "Get Data" -> "SQL Server SSAS" -> "Connect" 和 select 数据源时,我得到了错误:

Something went wrong:

Technical details:
Activity ID: b839be39-e0ec-ed9e-9708-89b1afa14191
Request ID: 45f45676-68cc-7006-9018-8def3d9dbdc1
Date: 2016-10-28 06:09:41Z (UTC)
Error text: Ilmeni seuraava järjestelmävirhe:
Cluster URI: https://wabi-europe-north-b-redirect.analysis.windows.net

错误是芬兰语,但它的意思是 "We got following system error"

在网关日志中,我们可以看到以下错误:

DM.EnterpriseGateway Information: 0 : 2016-10-28T06:09:41.3503946Z DM.EnterpriseGateway    0cdc41c9-8683-45d9-bdbc-ba11b294dfd0        45f45676-68cc-7006-9018-8def3d9dbdc1 MGPP     b839be39-e0ec-ed9e-9708-89b1afa14191         E5E3865A [DM.GatewayCore] Deserialized OpenConnectionRequest, executing
DM.EnterpriseGateway Information: 0 : 2016-10-28T06:09:41.3503946Z DM.EnterpriseGateway    1bb454c2-e6a2-4026-a920-c53a59a78981        45f45676-68cc-7006-9018-8def3d9dbdc1 MGCC     b839be39-e0ec-ed9e-9708-89b1afa14191         F5100A95 [DM.GatewayCore] Db pool opening raw database connection to [MSOLAP.5: <pi>MSOLAP.5rovider=MSOLAP.5;data source=sqlserver;initial catalog=Database;timeout=180;effectiveusername=powerbi@customer.com;sspropinitappname=PowerBI:[Windows] Encrypted Credential information omitted</pi>]
DM.EnterpriseGateway Error: 0 : 2016-10-28T06:09:41.4128883Z DM.EnterpriseGateway 1bb454c2-e6a2-4026-a920-c53a59a78981         45f45676-68cc-7006-9018-8def3d9dbdc1 MGCC     b839be39-e0ec-ed9e-9708-89b1afa14191     BAA79098 [DM.Pipeline.Diagnostics] Exception object created [IsBenign=True]: Microsoft.PowerBI.DataMovement.Pipeline.Diagnostics.AdomdDataAccessErrorResponseException: AdomdException encountered while accessing the target data source.; ErrorShortName: AdomdDataAccessErrorResponseException[ErrorCode=-1056899072,HResult=-2146233088]/Wrapped(AdomdErrorResponseException)[ErrorCode=-1056899072,HResult=-2146233088]
DM.EnterpriseGateway Error: 0 : 2016-10-28T06:09:41.4128883Z DM.EnterpriseGateway 1bb454c2-e6a2-4026-a920-c53a59a78981         45f45676-68cc-7006-9018-8def3d9dbdc1 MGCC     b839be39-e0ec-ed9e-9708-89b1afa14191     2E87F8B5 [DM.Pipeline.Common.TracingTelemetryService] Event: FireActivityCompletedWithFailureEvent (duration=69, err=AdomdDataAccessErrorResponseException, rootcauseErrorEventId=0)
DM.EnterpriseGateway Error: 0 : 2016-10-28T06:09:41.4128883Z DM.EnterpriseGateway fb150b2a-d618-4b7b-9abf-1da42d6c549c         45f45676-68cc-7006-9018-8def3d9dbdc1 MGGC     b839be39-e0ec-ed9e-9708-89b1afa14191     96BF2BFF [DM.Pipeline.Common.TracingTelemetryService] Event: FireActivityCompletedWithFailureEvent (duration=72, err=AdomdDataAccessErrorResponseException, rootcauseErrorEventId=0)
DM.EnterpriseGateway Error: 0 : 2016-10-28T06:09:41.4128883Z DM.EnterpriseGateway e19083b1-8457-474d-9e60-dc2fb065197f         45f45676-68cc-7006-9018-8def3d9dbdc1 MGOC     b839be39-e0ec-ed9e-9708-89b1afa14191     96BF2BFF [DM.Pipeline.Common.TracingTelemetryService] Event: FireActivityCompletedWithFailureEvent (duration=72, err=AdomdDataAccessErrorResponseException, rootcauseErrorEventId=0)
DM.EnterpriseGateway Error: 0 : 2016-10-28T06:09:41.4128883Z DM.EnterpriseGateway 0cdc41c9-8683-45d9-bdbc-ba11b294dfd0         45f45676-68cc-7006-9018-8def3d9dbdc1 MGPP     b839be39-e0ec-ed9e-9708-89b1afa14191     655A6564 [DM.Pipeline.Common.TracingTelemetryService] Event: FireActivityCompletedWithFailureEvent (duration=73, err=AdomdDataAccessErrorResponseException, rootcauseErrorEventId=0)
DM.EnterpriseGateway Error: 0 : 2016-10-28T06:09:41.4128883Z DM.EnterpriseGateway ac8ba607-b76f-494b-8f11-2e69ff096d5d         45f45676-68cc-7006-9018-8def3d9dbdc1 MDSR     b839be39-e0ec-ed9e-9708-89b1afa14191     4CD88F16 [DM.GatewayCore] Error processing request: [0]Microsoft.PowerBI.DataMovement.Pipeline.Diagnostics.AdomdDataAccessErrorResponseException: AdomdException encountered while accessing the target data source.

此错误继续:

GatewayPipelineErrorCode=DM_GWPipeline_Gateway_DataSourceAccessError
ErrorCode=-1056899072 --->
[1]Microsoft.PowerBI.DataMovement.Pipeline.Diagnostics.GatewayPipelineWrapperException: Substituted: AdomdErrorResponseException:<pi>Microsoft.AnalysisServices.AdomdClient.AdomdErrorResponseException: Ilmeni seuraava järjestelmävirhe:
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Connect(Boolean toIXMLA)
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean createSession, Boolean isHTTP)
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayDataAccess.AdomdConnectionProvider.OpenConnectionAsync()</pi>

最后:

GatewayPipelineErrorCode=DM_GWPipeline_UnknownError
InnerType=AdomdErrorResponseException
InnerMessage=<pi>Ilmeni seuraava järjestelmävirhe: </pi>
InnerToString=<pi>Microsoft.AnalysisServices.AdomdClient.AdomdErrorResponseException: Ilmeni seuraava järjestelmävirhe:
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Connect(Boolean toIXMLA)
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean createSession, Boolean isHTTP)
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayDataAccess.AdomdConnectionProvider.OpenConnectionAsync()</pi>
InnerCallStack=   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Connect(Boolean toIXMLA)
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean createSession, Boolean isHTTP)
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayDataAccess.AdomdConnectionProvider.OpenConnectionAsync()
  ([1]Microsoft.PowerBI.DataMovement.Pipeline.Diagnostics.GatewayPipelineWrapperException.StackTrace
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Connect(Boolean toIXMLA)
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean createSession, Boolean isHTTP)
   at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayDataAccess.AdomdConnectionProvider.OpenConnectionAsync()
   --- End of inner exception stack trace ---
  ([0]Microsoft.PowerBI.DataMovement.Pipeline.Diagnostics.AdomdDataAccessErrorResponseException.StackTrace
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayDataAccess.AdomdConnectionProvider.OpenConnectionAsync()
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.ConnectionStrings.AdoNetDbFullConnectionString.<OpenConnectionAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.AdoNetDbConnectionPool.<>c__DisplayClass1.<<CreateObjectInstance>b__0>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.Common.Diagnostics.PipelineTelemetryService.<ExecuteInActivity>d__a`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.AdoNetDbConnectionPool.<CreateObjectInstance>d__a.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.Common.Pool.BasePool`3.<CreatePoolObject>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.Common.Pool.StatelessPool`2.<Get>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessor.<>c__DisplayClass5e.<<GetDatabaseConnection>b__5d>d__60.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.Common.Diagnostics.PipelineTelemetryService.<ExecuteInActivity>d__a`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessor.<GetDatabaseConnection>d__66.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessor.<>c__DisplayClass2.<<EnsureConnection>b__1>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.Common.Diagnostics.PipelineTelemetryService.<ExecuteInActivity>d__a`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessor.<EnsureConnection>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessorDispatcher.<DispatchImpl>d__e.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.GatewayProcessorDispatcher.<Dispatch>d__b.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.Serialization.GatewayDeserializer.<DeserializeImpl>d__e.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.Serialization.GatewayDeserializer.<>c__DisplayClass4.<<Deserialize>b__2>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.Common.Diagnostics.PipelineTelemetryService.<ExecuteInActivity>d__a`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.Serialization.GatewayDeserializer.<Deserialize>d__9.MoveNext()

明文错误消息只有英文"Following system error occurred"。日志文件中的 BTW 时间看起来像 powerbi.com 时区时间而不是本地服务器时间。

知道我们接下来应该尝试什么吗?我们已经尝试过几次重新安装网关。

Jens:目前 SSAS 是 运行 默认 NT Service\MSSQLServerOLAPService

Greg:当使用 powerbi@customer.com whoami /upn 登录到服务器时,我会得到正确的,但是当我使用 runas 命令通过 powerbi@customer.com 启动命令提示符时,它会给出我 powerbi@customer.local 地址。

powerbi@customer.com 是整个 SSAS 实例的管理员。 (以及该特定数据模型中的管理员)

您是指标准的连接到 Analysis Services 对话框吗?当我将 effectiveusername=powerbi@customer.com 添加到附加连接参数时,它总是会出现系统错误。

这是关于 effectiveusername= 不工作。我们需要授予 SSAS 服务帐户读取 AD 的权限。

Br, 亨利