Operations Manager 보고서를 배포하지 못
이 문서는 이벤트 ID 31567로 Operations Manager 보고서 배포가 실패하는 문제를 해결하는 데 도움이 됩니다.
적용 대상: System Center Operations Manager
원래 KB 번호: 4519161
증상
최신 버전의 SSRS(SQL Server Reporting Services) 2017과 함께 System Center 2019 Operations Manager를 설치하면 Operations Manager 보고서가 배포되지 않습니다.
운영 콘솔에서 보고 보기를 열고 폴더를 선택하면 보고서 목록이 비어 있습니다. 또한 다음과 유사한 오류 메시지가 Operations Manager 이벤트 로그에 기록됩니다.
로그 이름: Operations Manager
원본: 상태 관리 서비스 모듈
날짜: <날짜><시간>
이벤트 ID: 31567
작업 범주: 데이터 웨어하우스
수준: 오류
키워드: 클래식
사용자: N/A
컴퓨터: <FQDN>
설명:
SQL Server Reporting Services 서버에 보고 구성 요소를 배포하지 못했습니다. 작업이 다시 시도됩니다. 예외 'DeploymentException': 버전 종속 ID가 'ID>'<인 관리 팩에 대한 보고서를 배포하지 못했습니다. 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
인스턴스 이름: Data Warehouse 동기화 서비스
인스턴스 ID: {GUID}
관리 그룹: <관리 그룹 이름>
참고 항목
이 문제는 SSRS 2017로 업그레이드한 다음 Operations Manager 보고를 제거하고 다시 설치할 때 System Center Operations Manager 버전 1807에서도 발생합니다.
원인
SSRS 2017 버전 14.0.600.1274 이상 버전에는 새로운 고급 설정 AllowedResourceExtensionsForUpload가 포함됩니다. 이 설정은 보고서 서버에 업로드할 수 있는 리소스 파일의 확장자 집합을 제한합니다. 이 문제는 Operations Manager 보고가 AllowedResourceExtensionsForUpload의 기본 집합에 포함되지 않은 확장을 사용하기 때문에 발생합니다.
해결 방법 1
권한 있는 확장 목록에 추가 *.*
합니다. 이렇게 하려면 다음 단계를 수행하세요.
- SQL Server Management Studio를 시작한 다음 Operations Manager에서 사용하는 보고서 서버 인스턴스에 연결합니다.
- 보고서 서버 인스턴스 이름을 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 고급을 선택합니다.
- AllowedResourceExtensionsForUpload 설정을 찾아 확장 목록에 추가
*.*
한 다음 확인을 선택합니다. - 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
보고서 서비스로 업데이트해야 할 수 있습니다. 스크립트의 확장 목록은 완전하지 않을 수 있습니다. 사용자 고유의 확장을 적절하게 포함합니다.