Ознаки
Розглянемо такий сценарій:
-
Ви використовуєте служби звітування SQL Server 2012, 2014 або 2016.
-
Ви інсталюєте Microsoft SQL Server 2014 із пакетом оновлень 1 (SP1), пізніший сукупний пакет оновлень SQL Server 2012 із пакетом оновлень 3 (SP3) або сукупний пакет оновлень SQL Server 2016.
-
Ви запускаєте RDL звіт, створений програмним способом.
У цьому випадку може з'явитися повідомлення про помилку приблизно такого вигляду:
Обробки! ReportServer_0-1!1328!01/14/2016-10:58:06:: e ПОМИЛКА: повернення Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: у обробці звітів сталася неочікувана помилка. ---> System.IO.IOException: не вдалося отримати доступ до файлу "C:\Users\ReportServer\AppData\Local\Temp\kpw4qafn.out", оскільки він використовується іншим процесом.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at Microsoft.ReportingServices.RdlExpressions.VBExpressionCodeProvider.CompileAssemblyFromDomWithRetry(CompilerParameters options, CodeCompileUnit compilationUnit)
at Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.InternalCompile(Компіляція AppDomainTempAppDomain, Boolean refusePermissions)
на сайті Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.<>c__DisplayClass2.<Компіляція>b__0()
at Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Run>b__0(Object state)
на System.Security.SecurityContext.runTryCode(Object userData)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
at System.Security.SecurityContext.Run(SecurityContext securityContext, ContextCallback callback, Object state)
at Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.Run(ContextBody callback)
at Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.Compile(IExpressionHostAssemblyHolder expressionHostAssemblyHolder, Компіляція AppDomainTempAppDomain, 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)
at Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CreateIntermediateFormat(PublishingContext reportPublishingContext)
--- кінець внутрішнього стека винятків ---
Примітка. Ця помилка також записується в журнали служб звітування.
Спосіб вирішення
Цю проблему вирішено в сукупному пакеті оновлень для SQL Server:
Сукупне оновлення 5 для SQL Server 2016 RTM
сукупний пакет оновлень 2 для сукупного пакета оновлень 1 (SP1
) SQL Server 2016для SQL Server 2014 з пакетом оновлень 1
Сукупний пакет оновлень 1 для SQL Server 2014 з пакетом оновлень 2 (SP2)
Сукупний пакет оновлень 8 для SQL Server 2012 із пакетом оновлень 3 (SP3)
Сукупний пакет оновлень 16 для SQL Server 2012 із пакетом оновлень 2 (SP2)
Кожен новий сукупний пакет оновлень для SQL Server містить усі виправлення та всі виправлення системи безпеки, які входили в попередній сукупний пакет оновлень. Ознайомтеся з останніми сукупними оновленнями для SQL Server:
Останнє сукупне оновлення для SQL Server 2014
р. Останнє сукупне оновлення для SQL Server 2016
р. Останнє сукупне оновлення для SQL Server 2012 із пакетом оновлень 3 (SP3)
Останнє сукупне оновлення для SQL Server 2012 із пакетом оновлень 2 (SP2)
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".
Посилання
Дізнайтеся про термінологію, яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.