У меня есть SQL Reporting Services 2016 (13.0.5103.6) Стандартный собственный экземпляр, который не позволяет мне редактировать отчеты (RDL) с помощью построителя отчетов 15.0.19611.0 или загружать их через портал отчетов, он выдает исключение и создает дамп памяти. Я все еще могу выполнять/генерировать отчеты в экземпляре.
При открытии отчета в Report Builder я получаю сообщение об ошибке на стороне клиента:
При обработке отчетов произошла непредвиденная ошибка. --->
Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: при обработке отчетов произошла непредвиденная ошибка. --->
System.Exception: для получения дополнительных сведений об этой ошибке перейдите на сервер отчетов на локальном сервере или включите удаленные ошибки.
В журнале служб Reporting Services сервера соответствующая запись журнала ошибок:
processing!ReportServer_0-1!1ac8!12/23/2021-14:11:29:: e ОШИБКА: создание Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: непредвиденная ошибка при обработке отчетов. ---> System.ComponentModel.Win32Exception: система не может найти указанный путь
в Microsoft.Win32.NativeMethods.CreateDirectory (строковый путь, SafeLocalMemHandle acl)
в System.CodeDom.Compiler.TempFileCollection.CreateTempDirectoryWithAce (каталог String, идентификатор String)
в System.CodeDom.Compiler.TempFileCollection.GetTempFileName(String tempDir)
в System.CodeDom.Compiler.TempFileCollection.EnsureTempNameCreated()
в System.CodeDom.Compiler.TempFileCollection.AddExtension (String fileExtension, логическое значение keepFile)
в System.CodeDom.Compiler.CodeCompiler.FromDomBatch (параметры CompilerParameters, CodeCompileUnit [] ea)
в System.CodeDom.Compiler.CodeCompiler.System.CodeDom.Compiler.ICodeCompiler.CompileAssemblyFromDomBatch (параметры CompilerParameters, CodeCompileUnit [] ea)
в Microsoft.ReportingServices.RdlExpressions.VBExpressionCodeProvider.CompileAssemblyFromDomWithRetry (параметры CompilerParameters, CodeCompileUnitcompileUnit)
в Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.InternalCompile (компиляция AppDomainTempAppDomain, логический отказ от разрешений)
в Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.<>c__DisplayClass2.<Compile>b__0()
в Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.<>c__DisplayClass1.<Run>b__0(состояние объекта)
в System.Security.SecurityContext.runTryCode(объект userData)
в System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup (код TryCode, код возврата CleanupCode, данные пользователя объекта)
в System.Security.SecurityContext.Run (SecurityContext securityContext, обратный вызов ContextCallback, состояние объекта)
в Microsoft.ReportingServices.Diagnostics.RevertImpersonationContext.Run (обратный вызов ContextBody)
в Microsoft.ReportingServices.RdlExpressions.ExprHostCompiler.Compile (IExpressionHostAssemblyHolder expressionHostAssemblyHolder, компиляция AppDomainTempAppDomain, Boolean rejectPermissions, PublishingVersioning versioning)
в Microsoft.ReportingServices.ReportPublishing.ReportPublishing.Phase3 (ParameterInfoCollection и параметры, Dictionary`2 и groupingExprCountAtScope)
в Microsoft.ReportingServices.ReportPublishing.ReportPublishing.InternalCreateIntermediateFormat(Stream DefinitionStream, String& description, String& language, ParameterInfoCollection& параметры, DataSourceInfoCollection& dataSources, DataSetInfoCollection& sharedDataSetReferences, UserLocationFlags& userReferenceLocation, ArrayList& dataSetsName, Boolean& hasSetsperims, Boolean& hasHytelinks data, ByHytelinks data, ByHytelinks
в Microsoft.ReportingServices.ReportProcessing.ReportProcessing.CompileOdpReport (PublishingContext reportPublishingContext, PublishingErrorContext errorContext, String& reportDescription, String& report
library!ReportServer_0-1!1ac8!12/23/2021-14:11:29::i ИНФОРМАЦИЯ: Пропущено создание файла дампа для ошибки ReportProcessingException, так как дамп с идентичной трассировкой стека (с сигнатурой 2668486527) уже создан .
Предполагая, что «svcssrs» — это ADUser, под которым работает экземпляр SSRS, используя Procmon (Sysinternals) для ReportingServicesService.exe, я заметил сбой операции CreateFile с PATH NOT FOUND с такими путями, как C:\Users\svcssrs\AppData\Local\Temp\abcdefgh
C:\Users\svcssrs\AppData\Local\Temp\
существует и находится под полным контролем пользователя 'svcssrs'.
RDL, с которым я работаю, представляет собой очень стандартный RDL-файл с Tablix, некоторые наборы данных MSSQL с использованием общего источника данных, несколько основных выражений SSRS, встроенные изображения (не связанные) и без встроенного кода VB или связанных сборок.
Я восстановил ключ шифрования SNK из резервной копии, а затем также изменил его без каких-либо изменений в поведении.
Как я могу решить эту проблему?