現象
Microsoft SQL Server 2012 Analysis Services (SSAS 2012) または SQL Server 2014 Analysis Services (SSAS 2014) の処理のために、PowerShell の Invoke-AsCmd コマンドレットと SQL Server Management Studio (SSMS) の XML for Analysis (XMLA) を使用することを想定しています。 この状況では、返される出力に次のような動作の違いが生じます。
- 次の 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 コマンドがエラー メッセージを受け取った場合、エラー メッセージは Warning タグに含まれますが、リターン コードにはキャプチャされません。 ただし、エラー メッセージはエラー タグに含まれており、SSMS から同じ XMLA コマンドを実行するとリターン コードにキャプチャされます。
原因
この問題は、Invoke-AsCmd コマンドレットが警告メッセージを無視してエラー メッセージをキャプチャし、間違ったテンプレートを使用して戻り値を生成するために発生します。
解決策
この問題は、次の 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 製品の問題であることを確認しました。