Symptomy
Rozpatrzmy następujący scenariusz:
-
Używasz usług raportowania SQL Server 2012, 2014 lub 2016.
-
Instalowanie dodatku Service Pack 1 dla programu Microsoft SQL Server 2014, nowszej aktualizacji zbiorczej SQL Server 2012 z dodatkiem SP3 lub aktualizacji zbiorczej SQL Server 2016.
-
Uruchamiasz raport RDL wygenerowany programowo.
W tym scenariuszu może zostać wyświetlony komunikat o błędzie podobny do następującego:
Przetwarzania! ReportServer_0-1!1328!01/14/2016-10:58:06:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Wystąpił nieoczekiwany błąd w report processing. ---> System.IO.IOException: Ten proces nie może uzyskać dostępu do pliku "C:\Users\ReportServer\AppData\Local\Temp\kpw4qafn.out", ponieważ jest używany przez inny proces.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
w: System.IO.File.InternalDelete(String path, Boolean checkHost)
w: Microsoft.ReportingServices.RdlExpressions.VBExpressionCodeProvider.CompileAssemblyFromDomWithRetry(CompilerParameters options, CodeCompileUnit compilationUnit)
w: Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.InternalCompile(AppDomain compilationTempAppDomain, Boolean refusePermissions)
w: Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.<>c__DisplayClass2.<Compile>b__0()
w: Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Run>b__0(Object state)
w: System.Security.SecurityContext.runTryCode(Object userData)
w: System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
w: System.Security.SecurityContext.Run(SecurityContext securityContext, ContextCallback callback, Object state)
w witrynie Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.Run(ContextBody callback)
w: Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.Compile(IExpressionHostAssemblyHolder expressionHostAssemblyHolder, AppDomain compilationTempAppDomain, Boolean refusePermissions, PublishingVersioning versioning versioning)
w: Microsoft.ReportingServices.ReportPublishing.ReportPublishing.Phase3(ParameterInfoCollection& parameters, Dictionary'2& groupingExprCountAtScope)
w: Microsoft.ReportingServices.ReportPublishing.ReportPublishing.InternalCreateIntermediateFormat(Stream definitionStream, String& description, String& language, ParameterInfoCollection& parameters, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, Boolean& hasExternalImages, Boolean& hasHyperlinks, Byte[]& dataSetsHash)
w: 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)
w: Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(PublishingContext reportPublishingContext)
--- koniec --- śledzenia wewnętrznego stosu wyjątków
Uwaga Ten błąd jest również rejestrowany w dziennikach usług Reporting Services.
Rozwiązanie
Ten problem został rozwiązany w następującej aktualizacji zbiorczej dla SQL Server:
Aktualizacja zbiorcza 5 dla SQL Server 2016 RTM
Aktualizacja zbiorcza 2 dla SQL Server 2016 SP1
Aktualizacja skumulowana 9 dla SQL Server 2014 z dodatkiem Service Pack 1
Aktualizacja zbiorcza 1 dla SQL Server 2014 z dodatkiem SP2
Aktualizacja zbiorcza 8 dla SQL Server 2012 z dodatkiem SP3
Aktualizacja zbiorcza 16 dodatku Service Pack 2 (SP2) dla SQL Server 2012
Każda nowa aktualizacja zbiorcza dla SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla SQL Server:
Najnowsza aktualizacja zbiorcza dla SQL Server 2014
Najnowsza aktualizacja zbiorcza dla SQL Server 2016
Najnowsza aktualizacja zbiorcza dodatku SP3 dla SQL Server 2012
Najnowsza aktualizacja zbiorcza dla SQL Server 2012 z dodatkiem SP2
Stan
Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".
Informacje
Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.