Поделиться через


Не удается развернуть отчеты Operations Manager

Эта статья поможет устранить проблему, из-за которой развертывание отчетов Operations Manager завершается сбоем с идентификатором события 31567.

Область применения: System Center Operations Manager
Исходный номер базы знаний: 4519161

Симптомы

При установке System Center 2019 Operations Manager вместе с последней версией SQL Server Reporting Services (SSRS) 2017, отчеты Operations Manager не развертываются.

При открытии представления отчетов в консоли управления и выборе всех папок список отчетов пуст. Кроме того, в журнале событий Operations Manager регистрируются сообщения об ошибках наподобие следующих:

Имя журнала: Operations Manager
Источник: модули службы работоспособности
Дата: <время даты><>
Идентификатор события: 31567
Категория задач: хранилище данных
Уровень: ошибка
Ключевые слова: классический
Пользователь: Н/Д
Компьютер: <полное доменное имя>
Описание.
Не удалось развернуть компонент отчетов на сервере СЛУЖБ SQL Server Reporting Services. Операция будет запущена повторно. Исключение DeploymentException: не удалось развернуть отчеты для пакета управления с идентификатором идентификатора<> зависимой версии. System.Web.Services.Protocols.SoapException: отправка или сохранение файлов с помощью . Расширение CustomConfiguration запрещено. Обратитесь к администратору, если у вас возникли вопросы. --->
Microsoft.ReportingServices.Diagnostics.Utilities.ResourceFileFormatNotAllowedException: отправка или сохранение файлов с помощью. Расширение CustomConfiguration запрещено. Обратитесь к администратору, если у вас возникли вопросы.
at Microsoft.ReportingServices.Library.ReportingService2005Impl.CreateResource(String Resource, String Parent, Boolean Overwrite, Byte[] Contents, String MimeType, Property[] Properties, Guid batchId)
at Microsoft.ReportingServices.WebServer.ReportingService2005.CreateResource(String Resource, String Parent, Boolean Overwrite, Byte[] Contents, String MimeType, Property[] Properties)
Затронуты один или несколько рабочих процессов.
Имя рабочего процесса: Microsoft.SystemCenter.DataWarehouse.Deployment.Report
Имя экземпляра: служба синхронизации хранилища данных
Идентификатор экземпляра: {GUID}
Группа управления: <имя группы управления>

Примечание.

Эта проблема также возникает в System Center Operations Manager версии 1807 при обновлении до SSRS 2017, а затем удаляется и переустановка отчетов Operations Manager.

Причина

SSRS 2017 версии 14.0.600.1274 и более поздних версий включают новый расширенный параметр AllowedResourceExtensionsForUpload. Этот параметр ограничивает набор расширений файлов ресурсов, которые можно отправить на сервер отчетов. Эта проблема возникает потому, что в отчетах Operations Manager используются расширения, которые не включены в набор по умолчанию в AllowedResourceExtensionsForUpload.

Решение 1

Добавьте *.* в список авторизованных расширений. Для этого выполните следующие шаги.

  1. Запустите SQL Server Management Studio и подключитесь к экземпляру сервера отчетов, который использует Operations Manager.
  2. Щелкните правой кнопкой мыши имя экземпляра сервера отчетов, выберите "Свойства" и выберите "Дополнительно".
  3. Найдите параметр AllowedResourceExtensionsForUpload, добавьте *.* в список расширений и нажмите кнопку "ОК".
  4. Перезапустите службы SSRS.

Решение 2

Используйте скрипт PowerShell для добавления расширений. Для этого выполните следующий сценарий PowerShell:

Примечание.

После выполнения этого скрипта необходимо перезапустить службы SSRS.

$ServiceAddress = 'http://localhost'

$ExtensionAdd = @(
	'*'
	'CustomConfiguration'
	'Report'
	'AvailabilityMonitor'
	'TopNApplications'
	'Settings'
	'License'
	'ServiceLevelTrackingSummary'
	'CustomPerformance'
	'MostCommonEvents'
	'PerformanceTop'
	'Detail'
	'DatabaseSettings'
	'ServiceLevelObjectiveDetail'
	'PerformanceDetail'
	'ConfigurationChange'
	'TopNErrorGroupsGrowth'
	'AvailabilityTime'
	'rpdl'
	'mp'
	'TopNErrorGroups'
	'Downtime'
	'TopNApplicationsGrowth'
	'DisplayStrings'
	'Space'
	'Override'
	'Performance'
	'AlertDetail'
	'ManagementPackODR'
	'AlertsPerDay'
	'EventTemplate'
	'ManagementGroup'
	'Alert'
	'EventAnalysis'
	'MostCommonAlerts'
	'Availability'
	'AlertLoggingLatency'
	'PerformanceTopInstance'
	'rdl'
	'PerformanceBySystem'
	'InstallUpdateScript'
	'PerformanceByUtilization'
	'DropScript'
)

Write-Output 'Setting Allowed Resource Extensions for Upload'
$error.clear()
try
{
	$Uri = [System.Uri]"$ServiceAddress/ReportServer/ReportService2010.asmx"
	$Proxy = New-WebServiceProxy -Uri $Uri -UseDefaultCredential
	$Type = $Proxy.GetType().Namespace + '.Property'
	
	$Property = New-Object -TypeName $Type
	$Property.Name = 'AllowedResourceExtensionsForUpload'

	$ValueAdd = $ExtensionAdd | ForEach-Object -Process {
		"*.$psItem"
	}	

	$Current = $Proxy.GetSystemProperties($Property)
	if ($Current)
    {
	$ValueCurrent = $Current.Value -split ','
	$ValueSet = $ValueCurrent + $ValueAdd | Sort-Object -Unique
	}
	else
    {
        $ValueSet = $ValueAdd | Sort-Object -Unique
    }

	
	$Property.Value = $ValueSet -join ','
	
	$Proxy.SetSystemProperties($Property)
    Write-Output '  Successfully set property to: *.*'
}
catch
{
	Write-Warning "Failure occurred: $error"
}
Write-Output 'Script completed!'

Примечание.

Возможно, потребуется обновить $ServiceAddress переменную с помощью допустимого веб-адреса в службе отчетов. Список расширений в скрипте может быть исчерпывающим. Включите собственные расширения в соответствии с соответствующими параметрами.