Симптоми
Имайте предвид сценария, описан по-долу:
- Използвате услугите за отчет на SQL Server 2012, 2014 или 2016.
- Инсталирате Microsoft SQL Server 2014 Service Pack 1, по-нова кумулативна актуализация на SQL Server 2012 SP3 или кумулативна актуализация на SQL Server 2016.
- Изпълнявате RDL отчет, който се генерира програмно.
В този случай може да получите съобщение за грешка, подобно на следното:
Забележка
обработка! ReportServer_0-1!1328!14.01.2016-10:58:06:: e ГРЕШКА: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Възникна неочаквана грешка при обработката на отчета. ---> System.IO.IOException: Процесът не може да получи достъп до файла "C:\Users\ReportServer\AppData\Local\Temp\kpw4qafn.out", защото той се използва от друг процес.
в System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
в System.IO.File.InternalDelete(String path, булев checkHost)
at Microsoft.ReportingServices.RdlExpressions.VBExpressionCodeProvider.CompileAssemblyFromDomWithRetry(CompilerParameters options, CodeCompileUnit compilationUnit)
в Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.InternalCompile(AppDomain compilationTempAppDomain, булева refusePermissions)
в Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.<>c__DisplayClass2.<Компилиране>на b__0()
в Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Изпълнение>b__0(състояние на обекта)
в System.Security.SecurityContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
в System.Security.SecurityContext.Run(SecurityContext, обратно повикване, състояние на обекта)
в Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.Run(ContextBody callback)
at Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.Compile(IExpressionHostAssemblyHolder expressionHostAssemblyHolder, AppDomain compilationTempAppDomain, Boolean refusePermissions, PublishingVersioning versioning)
at Microsoft.ReportingServices.ReportPublishing.ReportPublishing.Phase3(ParameterInfoCollection& parameters, Dictionary'2& groupingExprCountAtScope)
at 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)
at 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)
в Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(PublishingContext reportPublishingContext)
--- Край на групово проследяване на вътрешни изключения ---
Забележка: Тази грешка също се регистрира в регистрационните файлове на услугите за отчети.
Решение
Този проблем е коригиран в следната кумулативна актуализация за SQL Server:
Сборна актуализация 5 за SQL Server 2016 RTM
Сборна актуализация 2 за SQL Server 2016 SP1
Сборна актуализация 9 за SQL Server 2014 Service Pack 1
Сборна актуализация 1 за SQL Server 2014 SP2
Сборна актуализация 8 за SQL Server 2012 SP3
Сборна актуализация 16 за SQL Server 2012 Service Pack 2 (SP2)
Сборна актуализация 2 за SQL Server 2016
За кумулативните актуализации за SQL Server
Всяка нова кумулативна актуализация за SQL Server съдържа всички актуални поправки и корекции на защитата, които са били включени в предишната кумулативна актуализация. Прегледайте последните кумулативни актуализации за SQL Server:
Последна сборна актуализация за SQL Server 2014
Последна сборна актуализация за SQL Server 2016
Последна кумулативна актуализация за SQL Server 2012 SP3
Последна кумулативна актуализация за SQL Server 2012 SP2
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Справки
Научете повече относно терминологията, която Microsoft използва за описване на актуализациите на софтуера.