Sintomas
Considere o seguinte cenário:
-
Utiliza o SQL Server 2012, 2014 ou 2016 Reporting Services.
-
Instala o Microsoft SQL Server 2014 Service Pack 1, uma atualização cumulativa posterior do SQL Server 2012 SP3 ou uma atualização cumulativa do SQL Server 2016.
-
Executa um relatório RDL gerado programaticamente.
Neste cenário, poderá receber uma mensagem de erro semelhante à seguinte:
a processar! ReportServer_0-1!1328!01/14/2016-10:58:06:: e ERRO: Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessingException: Ocorreu um erro inesperado em Processamento de Relatórios. ---> System.IO.IOException: o processo não consegue aceder ao ficheiro 'C:\Users\ReportServer\AppData\Local\Temp\kpw4qafn.out' porque está a ser utilizado por outro processo.
at System.IO.__Error.WinIOError(Int32 errorCode, String talvezFullPath)
em System.IO.File.InternalDelete(Caminho de cadeia, Booleano checkHost)
em Microsoft.ReportingServices.RdlExpressions.VBExpressionCodeProvider.CompileAssemblyFromDomWithRetry(CompilerParameters options, CodeCompileUnit compilationUnit)
em Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.InternalCompile(AppDomain compilationTempAppDomain, recusa booleanaPermissions)
em Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.<>c__DisplayClass2.<Compile>b__0()
em Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Run>b__0(Object state)
em System.Security.SecurityContext.runTryCode(Object userData)
em System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(código TryCode, CleanupCode backoutCode, Object userData)
em System.Security.SecurityContext.Run(SecurityContext securityContext, ContextCallback callback, Object state)
em Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.Run(ContextBody callback)
em Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.Compile(IExpressionHostAssemblyHolder expressionHostAssemblyHolder, appDomain compilationTempAppDomain, Booleano recusaPermissions, PublishingVersioning versioning)
em Microsoft.ReportingServices.ReportPublishing.ReportPublishing.Phase3(ParâmetroInfoCollection& parâmetros, Dictionary'2& groupingExprCountAtScope)
em Microsoft.ReportingServices.ReportPublishing.ReportPublishing.InternalCreateIntermediateFormat(Stream definitionStream, Descrição da cadeia&, idioma da Cadeia&, parâmetros ParameterInfoCollection&, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks, Byte[]& dataSetsHash)
em Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CompileOdpReport(PublishingContext reportPublishingContext, PublishingErrorContext errorContext, String& reportDescription, String& reportLanguage, ParameterInfoCollection& parameters, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks, Byte[]& dataSetsHash)
em Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(relatório PublishingContext reportPublishingContext)
--- Fim da pilha de exceções interna no rastreio ---
Nota Este erro também é de registo nos registos do Reporting Services.
Resolução
Este problema foi corrigido na seguinte atualização cumulativa para o SQL Server:
Atualização Cumulativa 5 para o SQL Server RTM
Cumulativo 2 para o SQL Server 2016 SP1
Atualização Cumulativa 9 para o SQL Server 2014 Service Pack 1
Atualização Cumulativa 1 para SQL Server 2014 SP2
Atualização Cumulativa 8 para SQL Server 2012 SP3
Atualização Cumulativa 16 para SQL Server 2012 Service Pack 2 (SP2)
Cada nova atualização cumulativa para o SQL Server contém todas as correções de segurança incluídas na atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:
Atualização cumulativa mais recente SQL Server 2014
Atualização cumulativa mais recente SQL Server 2016
Atualização cumulativa mais recente SQL Server 2012 SP3
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Referências
Saiba mais sobre a terminologia que a Microsoft utiliza para descrever atualizações de software.