現象
Sql server Management Studio (SSMS) では、Microsoft SQL Server 2012 Analysis services (SSAS 2012) または SQL Server 2014 Analysis Services (SSAS 2014) の処理のために、PowerShell と XML for Analysis (XMLA) で Invoke-AsCmd コマンドレットを使用していることを前提とします。 この場合、返される出力の次の動作の違いが発生します。
-
次の 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 コマンドを実行した場合は、戻り値コードでキャプチャされます。
原因
この問題が発生するのは、 呼び出し-AsCmd コマンドレットで警告メッセージは無視されますが、エラーメッセージが表示され、間違ったテンプレートを使ってリターン出力を生成するためです。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 2014 の累積更新プログラム5 /en-us/help/3011055
SQL Server 2012 SP2 の累積更新プログラム2 /en-us/help/2983175
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。