症状
假设你在 PowerShell 和 XML 中使用 Invoke-AsCmd cmdlet 进行分析 (SQL Server Management Studio (SSMS) 中的 XMLA) SQL Server 2012 Analysis Services (SSAS 2012) 或 SQL Server 2014 Analysis Services (SSAS 2014) 处理Microsoft。 在这种情况下,返回的输出会遇到以下行为差异:
- 使用以下 PowerShell 命令捕获警告消息时:Invoke-Ascmd -InputFile:“<input.xmla>” -Server:“<servername>” -OutVariable out -WarningVariable w 如果命令收到任何警告消息,则返回代码中不会捕获警告消息。 但是,如果从 SSMS 运行相同的 XMLA 命令,则会捕获警告消息。
- 使用以下 PowerShell 命令捕获错误消息时:Invoke-ascmd -InputFile: :“<input.xmla>” -Server:“<servername>” -ErrorVariable e -OutVariable out -WarningVariable w 如果命令收到任何错误消息,则错误消息包含在警告标记中,但不会在返回代码中捕获。 但是,如果从 SSMS 运行相同的 XMLA 命令,则错误消息包含在错误标记中,并且会在返回代码中捕获。
原因
出现此问题的原因是 Invoke-AsCmd cmdlet 忽略警告消息但捕获错误消息,并且它使用错误的模板生成返回输出。
解决方法
此问题已首先在 SQL Server 的以下累积更新中修复。
SQL Server 2014 累积更新 5 /en-us/help/3011055
SQL Server 2012 SP2 累积更新 2 /en-us/help/2983175
关于 SQL Server 的累积更新
SQL Server 的每个新累积更新都包含上一个累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:
状态
Microsoft 已确认在 "适用于" 部分中所列的 Microsoft 产品中存在问题。