Simptomai
Tarkime, kad naudojate " Invoke-AsCmd " cmdlet "PowerShell" ir XML analizei (XMLA) "SQL Server Management Studio" (SSMS), skirtos "Microsoft SQL server" 2012 analizės tarnyboms (apie 2012) arba SQL serverio 2014 analizės tarnybų (apie 2014) apdorojimu. Esant tokiai situacijai, galite pastebėti, kad grąžinama išeiga skiriasi:
-
Naudodami komandą "PowerShell", kad užfiksuotumėte įspėjimus:Invoke-Ascmd -InputFile:"<input.xmla>" -Server:"<servername>" -OutVariable out -WarningVariable w Jei komanda gauna bet kokį įspėjimo pranešimą, įspėjamasis pranešimas nerodomas grąžinimo kode. Tačiau įspėjimo pranešimas užfiksuojamas, jei vykdote tą pačią "XMLA" komandą iš SSMS.
-
Kai naudojate komandą "PowerShell", kad užfiksuotumėte klaidų pranešimą:Invoke-Ascmd -InputFile: :"<input.xmla>" -Server:"<servername>" -ErrorVariable e -OutVariable out -WarningVariable w Jei komanda gauna klaidos pranešimą, klaidos pranešimas yra įtrauktas į įspėjamąją žymę, bet jis nėra užfiksuotas grįžties kode. Tačiau klaidos pranešimas įtrauktas į klaidos žymę ir užfiksuojamas grąžinimo kode, jei vykdote tą pačią "XMLA" komandą iš SSMS.
Priežastis
Ši problema kyla dėl to, kad Invoke-AsCmd cmdlet ignoruoja įspėjimo pranešimai, bet fiksuoja klaidų pranešimai, ir ji naudoja neteisingus šablonus generuoti grąžinimo išvestį.
Sprendimas
Problema pirmą kartą buvo išspręsta šį kaupiamąjį naujinimą SQL serverio.
Kaupiamasis naujinimas 5 SQL serverio 2014 /en-us/help/3011055
Kaupiamasis naujinimas 2 SQL serverio 2012 SP2 /en-us/help/2983175
Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:
Statusą
"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.