Симптоми
Да предположим, че използвате командата " извикване на AsCmd " в POWERSHELL и XML за анализ (XMLA) в SQL Server Management Studio (SSMS) за услуги за анализ на Microsoft SQL Server 2012 (SSAS 2012) или SQL Server 2014 Analysis Services (SSAS 2014). В тази ситуация ще получите следната разлика в поведението за върнатия резултат:
-
Когато използвате командата по-долу на PowerShell за снемане на предупредителни съобщения:Invoke-Ascmd -InputFile:"<input.xmla>" -Server:"<servername>" -OutVariable out -WarningVariable w Ако командата получи предупреждаващо съобщение, предупредителното съобщение не е заснето във върнатата парола. Предупреждението обаче ще бъде заснето, ако изпълните същата команда на XMLA от SSMS.
-
Когато използвате командата по-долу на PowerShell, за да заснемете съобщения за грешка:Invoke-Ascmd -InputFile: :"<input.xmla>" -Server:"<servername>" -ErrorVariable e -OutVariable out -WarningVariable w Ако командата получи съобщение за грешка, съобщение за грешка се включва в маркера за Предупреждение , но не се записва във върнатата парола. Обаче съобщението за грешка е включено в тага за грешка и е заснето във връщания код, ако изпълнявате една и СЪЩА команда XMLA от SSMS.
Причина
Този проблем възниква, тъй като командата извикване на AsCmd игнорира предупредителните съобщения, но улавя съобщения за грешка, и използва грешни шаблони, за да генерира изходна печалба.
Решение
Проблемът е коригиран първо в следващата сборна актуализация на SQL Server.
Сборна актуализация 5 за SQL Server 2014 /en-us/help/3011055
Кумулативна актуализация 2 за SQL Server 2012 SP2 /en-us/help/2983175
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".