SQL Server Reporting Services 사용할 때 "System.OutOfMemoryException" 오류 메시지가 나타날 수 있습니다.

기술 자료 번역 기술 자료 번역
기술 자료: 909678 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

Microsoft SQL Server 2000 Reporting Services 사용하거나 Microsoft SQL Server 2005 Reporting Services 사용할 때 다음과 같은 오류 메시지가 나타날 수 있습니다.

보고서 서버에서 내부 오류가 발생했습니다.
자세한 내용은 오류 로그를 참조하십시오. (rsInternalError) 온라인 도움말 보기
형식 System.OutOfMemoryException 예외가 발생했습니다.
또한 SQL Server Reporting Services 로그 파일에서 다음과 같은 오류 메시지가 기록된 또는 로그가 갑자기 끝나는 확인할 수 있습니다.

System.OutOfMemoryException: System.OutOfMemoryException 형식의 예외가 throw되었습니다.
다음 이벤트 중 하나가 Microsoft Windows 응용 프로그램 로그에 기록됩니다 나타날 수 있습니다.

이벤트 1


aspnet_wp.exe (PID: <PIDNumber>) 메모리 소비가 있는 <SizeLimit> MB (<Percentage> 사용 가능한 RAM이 백분율).

이벤트 2


'DefaultAppPool' 응용 프로그램 풀을 처리하는 프로세스에 World Wide Web 게시 서비스에서 심각한 통신 오류가 서비스와의. 프로세스 ID는 '9132' 입니다. 데이터 필드에 오류 번호가 들어 있습니다.

하나 이상의 현상이 함께 이 문제가 발생할 수 있습니다.
  • 보고서를 표시할 때 보고서는 절대로 완료된 것입니다.
  • 보고서를 응답하지 않는 것처럼 보입니다.
  • 보고서를 표시하려고 하면 빈 화면이 표시됩니다.
  • 다음과 같은 오류 메시지가 나타납니다.

    내부 연결을 닫았습니다.
  • 구독은 배달되지 않습니다.

원인

컴퓨터에 메모리가 부족하여 요청한 작업을 완료할 수 없기 때문에 이 문제가 발생합니다.

SQL Server 2000 Reporting Services 제한 특정 부분을 보고서 바인딩된 메모리 처리 발생합니다. 예를 들어, 쿼리 결과 처리 및 개체 모델 렌더링 메모리 바인딩되어 있습니다.

한 때 요청한 작업을 완료할 수 있는 충분한 메모리가 컴퓨터에 설치되어 있지 않은 또는 다음 조건 중:
  • 보고서를 너무 크거나 너무 복잡한 것입니다.
  • 다른 실행 중인 프로세스의 오버헤드가 매우 높습니다.
  • 컴퓨터의 실제 메모리가 너무 작습니다.
보고서 두 단계로 처리합니다. 두 단계 실행 및 렌더링 있습니다. 이 문제는 렌더링 단계 동안 또는 실행 단계 동안 발생할 수 있습니다.

실행 단계 동안 이 문제가 발생하지 않으면 쿼리 결과에서 반환된 데이터의 메모리를 너무 많이 사용되는 때문에 이 문제는 대부분 발생합니다. 또한 다음 요소를 실행 단계가 진행되는 동안 메모리 소비가 영향을 줍니다.
  • 그룹화
  • 필터링
  • Aggregation
  • 정렬
  • 사용자 지정 코드
렌더링 단계에서 이 문제가 발생하면 원인은 보고서에 어떤 정보를 표시하고 보고서에 정보를 표시하는 방법을 관련이 있습니다. 예를 들어, 다음 요소를 렌더링 단계 중에 메모리 소비가 영향을 줍니다.
  • 개수 및 형식의 컨트롤
  • 컨트롤 간의 관계
  • 서식
  • 표시되는 데이터의 양
보고서 프로세서 구성 요소에 대한 자세한 내용은 다음 MSDN) Microsoft 개발자 네트워크 (웹 사이트를 방문하십시오.
http://msdn2.microsoft.com/en-us/library/aa179471(SQL.80).aspx

해결 방법

이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.

방법 1

컴퓨터에 충분한 실제 메모리를 추가하십시오.

참고 메모리가 2 GB 이상 있는 경우 사용할 수 있는 /3 GB 성능 향상을 위해 Boot.ini 파일에서 전환합니다. SQL Server에서/3 GB 스위치를 사용하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
2747502 GB 이상의 실제 메모리 사용하도록 SQL Server를 구성하는 방법

방법 2

메모리 제약 조건은 더 낮은 경우 한가한 시 실행되도록 일정 보고서.

방법 3

MemoryLimit 조정 그에 따라 설정.

참고 Reporting Services 웹 통해 보고서를 렌더링할 때 서비스, Reporting Services 웹 서비스 MemoryLimit 설정은 Machine.config 파일에서 가져옵니다. 그러나 예약된 보고서 보고서 서버 Windows 서비스에 의해 렌더링됩니다. 보고서 서버 Windows 서비스를 MemoryLimit 설정을 RSReportServer.config 파일에서 가져옵니다.

MemoryLimit 설정에 대한 자세한 내용은 "추가 정보" 절을 참조하십시오.

방법 4

Microsoft SQL Server 2005 Reporting Services 64비트 버전으로 업그레이드하십시오.

방법 5

보고서를 다시 설계하십시오. 이렇게 하려면 다음 방법 중 하나를 사용하십시오.

메서드 A

보고서 쿼리를 다시 설계하십시오. 다음과 같은 방법으로 보고서를 쿼리를 다시 디자인하는 메모리 사용량도 줄일 수 있습니다.
  • 적은 양의 데이터를 보고서 쿼리를 반환하십시오.
  • 더 나은 제한을 보고서 쿼리의 WHERE 절에 사용하십시오.
  • 복잡한 집계 데이터 원본에 이동하십시오.

방법 B

다른 형식으로 보고서를 내보냅니다. 보고서를 표시하려면 다른 형식을 사용하여 메모리 사용량을 줄일 수 있습니다. 다음 표에서는 순서에 대부분의 메모리 소비가 최소 메모리 소비가 여러 내보내기 형식을 나열합니다.
표 축소표 확대
형식설명
Microsoft ExcelExcel에서 보고서를 렌더링합니다.
이미지 (TIFF)보고서를 페이지 지향 형식의 정적 이미지로 렌더링합니다.
PDF이동식 문서 형식 보고서에서 렌더링합니다 (PDF)
htmlHTML 보고서에 브라우저에 렌더링합니다.
CSV쉼표로 구분된 형식으로 보고서를 렌더링하는 CSV 파일 형식에 연결된 보기 도구에서 보고서가 열립니다.
XMLXML; 보고서에서 렌더링하는 브라우저에서 보고서가 열립니다.
참고 XSLT 변환을 적용하는 경우 이 형식은 CSV 형식을 사용하는 것보다 적은 메모리를 사용합니다.

방법 C

보고서 디자인을 간소화할 수 있습니다. 다음과 같은 방법으로 보고서를 디자인 단순화하여 메모리 사용량도 줄일 수 있습니다.
  • 데이터 영역을 줄이거나 컨트롤을 보고서에 포함됩니다.
  • 드릴스루 보고서를 세부 정보를 표시할 수 있습니다.
또한 보고서의 목적은 데이터 컬렉션이 있으면 다른 Microsoft 제품에 대한 더 나은 성능을 사용할 수 있습니다. 예를 들어, 데이터 변환 서비스 (DTS) 또는 Microsoft SQL Server 2005 통합 Services 사용할 수 있습니다.

예제

다음은 이 문제를 해결하는 방법을 보여 줍니다. 다음 예를 살펴보겠습니다.
  • PDF 형식으로 및 Excel 형식으로 160 페이지를 반환하는 보고서 관리자에서 보고서를 렌더링할 수 없습니다. 8.5에 의해-11-.5인치 페이지 크기를 사용할 때 보고서를 250 페이지를 훨씬 초과할 수 있습니다.
  • 보고서의 데이터 원본을 500 MB 데이터 보고서 서버로 반환합니다. 일반적으로 SQL Server 2000 Reporting Services 데이터 집합에 의해 사용되는 메모리 양을 2 ~ 3 배 필요합니다. 따라서 SQL Server 2000 Reporting Services 거의 보고서를 렌더링할 .5GB의 메모리가 필요합니다.
이 예제에서는 문제를 해결하려면 보고서가 제한된 집합 필터 값에 대한 요약 데이터가 표시되도록 보고서를 다시 설계하십시오. 또한 집계를 보고서 데이터를 데이터베이스 쿼리에서 발생합니다 집계를 보고서 자체가 있지 않은지 확인하십시오. 이러한 메서드를 보고서 서버로 반환되는 데이터 양을 크게 줄이는 데 도움이 됩니다. 따라서 보고서는 성공적으로 및 보다 빠르게 렌더링됩니다.

추가 정보

SQL Server 2000 Reporting Services 사용할 때 다음 오류 중 하나가 원인일 메모리 관련 문제가 발생할 수 있습니다.
  • System.OutOfMemoryException 오류가 발생하지 않습니다.
  • 메모리 제한은 도달할 수 있습니다.
오류 조건 주요 차이점은 어떤 오류 조건이 발견되었습니다 처리되고 있는 수준입니다.

System.OutOfMemoryException 오류가 오류가 발생하는 SQL Server 2000 Reporting Services에 의해 시스템에서 메모리를 작업을 요청할 때 시스템 메모리를 제공할 수 있습니다. 이 오류가 발생하면 SQL Server 2000 Reporting Services 안전하지 않은 방식으로 해당 프로세스를 종료합니다. 시스템 종료 SQL Server 2000 Reporting Services 실행 요청 간에 리소스를 공유하기 때문에 안전하지 않습니다. 따라서 SQL Server 2000 Reporting Services 데이터에 대한 모든 요청은 여전히 안전하다는 것을 보장할 수 없습니다.

메모리 제한 조건을 잠재적으로 destabilizing 시스템을 보호하는 데 도움이 되는 설정을 집합입니다. 예를 들어, 메모리 제한을 보고서 서버 방지할 메모리를 너무 많이 사용하는 프로세스. 메모리 제한은 MemoryLimit 설정을 통해 및 RSReportServer.config 파일에 정의된 MaximumMemoryLimit 설정을 통해 지정됩니다. 메모리 한계에 도달할 때 SQL Server 2000 Reporting Services 메모리가 실제로 실행하기 전에 오류는 Microsoft .NET Framework에서 발생합니다.

웹 사이트 또는 예약된 작업 보고서를 렌더링할 수 있습니다. 따라서 오류 조건을 SQL Server 2000 Reporting Services 두 개의 다른 환경에서 발생할 수 있습니다. 환경 다음과 같습니다.
  • Reporting Services 웹 서비스
  • 보고서 서버 Windows 서비스
따라서, 오류 조건 및 환경에서는 다음 조합을 존재합니다.

Reporting Services 웹 서비스 및 System.OutOfMemoryException 오류

예외 메시지 및 다음 메시지와 유사한 종료 메시지를 SQL Server 2000 Reporting Services 로그 파일에 기록됩니다 (ReportServerService_ <timestamp>.log):

w3wp! 라이브러리! 1b3c! 07/11/2005-10:38:00:: e 오류: 찾을 System.OutOfMemoryException 예외: Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: 예외 형식 Microsoft.ReportingServices.ReportRendering.ReportRenderingException throw되었습니다. Microsoft.ReportingServices.ReportRendering.ReportRenderingException--->: 예외 형식 Microsoft.ReportingServices.ReportRendering.ReportRenderingException throw되었습니다. System.OutOfMemoryException--->: 예외 형식 System.OutOfMemoryException throw되었습니다.

w3wp! 라이브러리! 1b3c! 07/11/2005-10:38:00:: e 오류: 작업자 프로세스 종료
참고 기본적으로, ReportServerService_ <timestamp>.log 파일은 다음 위치에 있습니다.
\Microsoft SQL Server\ <Instance of SQL Server> \Reporting Services\LogFiles
또한, 응용 프로그램 로그에 다음 이벤트와 유사한 이벤트가 기록됩니다.


이벤트 종류: 경고
이벤트 원본: W3SVC
이벤트 범주: 없음
이벤트 ID: 1011
Date 날짜:
시간: Time
사용자: N/A
컴퓨터: ComputerName
설명:
'DefaultAppPool' 응용 프로그램 풀을 처리하는 프로세스에 World Wide Web 게시 서비스에서 심각한 통신 오류가 서비스와의. 프로세스 ID는 '9132' 입니다. 데이터 필드에 오류 번호가 들어 있습니다.

이 오류는 SQL Server 2000 Reporting Services 정상적으로 처리할 수 없습니다. Reporting Services 웹 서비스 예외를 catch한 다음 해당 프로세스를 종료합니다. 요청을 다시 제출해야 합니다.

이 문제를 해결하려면 시스템에 실제 메모리를 더 추가하거나 다른 프로세스의 메모리 사용량을 줄일 수 있습니다.

이상적으로는 메모리 부족 상황을 발생하기 전에 오류가 catch 되지 않도록 MemoryLimit 설정 또는 Microsoft 인터넷 정보 서비스 (IIS) 의 6.0 응용 프로그램 풀 설정을 조정할 수 있습니다. 따라서 프로세스는 사용하여 더 적절하게 처리할 것입니다. 해당 설정을 실험해 사용하면 항상 메모리 제한을 먼저 도달합니다 있다는 보장은 없습니다.

Reporting Services 웹 서비스 및 메모리 제한

메시지가 Windows 이벤트 로그 및 SQL Server 2000 Reporting Services 로그 파일에 기록됩니다. 프로세스를 종료하고 Reporting Services 웹 서비스 로그 파일을 나타냅니다. 그러나 SQL Server 2000 Reporting Services 종료 제어 및 종료에 대한 오류 정보를 기록할 수 없습니다.

다음 이벤트 중 하나가 응용 프로그램 로그에 기록됩니다 나타날 수 있습니다.

이벤트 1


aspnet_wp.exe (PID: <PIDNumber>) 메모리 소비가 있는 <SizeLimit> MB (<Percentage> 사용 가능한 RAM이 백분율).

이벤트 2


'2420' 서비스 제공 응용 프로그램 풀 'DefaultAppPool' 프로세스 ID의 작업자 프로세스가 가상 메모리 제한에 도달했으므로 재생을 요청했습니다.

메모리 한계에 도달할 때 Microsoft ASP.NET 또는 IIS 6.0이 이 오류를 처리하고 Reporting Services 웹 서비스를 종료합니다. 메모리 제한 모든 ASP.NET 또는 IIS 6.0 지정된 및 SQL Server 2000 Reporting Services에 의해 제어됩니다.

해당 <processmodel>에서 메모리 제한을 변경할 수 있습니다. Machine.config 파일에 섹션을.

참고 Machine.config 파일이 사용되지 않는 전용 모드에서 IIS 6.0을 실행하는 경우. 메모리 제한은 IIS 6 .0에서 응용 프로그램 풀의 속성에 의해 제어됩니다.

ASP.NET 에서 및 IIS 6 .0에서 메모리 구성에 대한 자세한 내용은 다음 MSDN 웹 사이트를 방문하십시오.

보고서 서버 Windows 서비스 및 System.OutOfMemoryException 오류

않은 보고서 파일 공유로 배달되거나 가입한 수신자에게 배달할. 예정된 렌더링할 때 프로세스가 자동으로 다시 시작됩니다., 프로세스가 복구 프로세스의 일부로 같은 구독 다시 실행할 시도합니다. 다음 오류 메시지와 유사한 오류 메시지가 SQL Server 2000 Reporting Services 로그 파일에 기록됩니다.

ReportingServicesService! 라이브러리! 618! 7/9/2003-16: 06: 01:: 상태: 오류: 형식 System.OutOfMemoryException throw된 예외.
ReportingServicesService! 알림! 618! 7/9/2003-16: 06: 01:: 배달 공급자에 의해 throw 된 오류: System.OutOfMemoryException: 예외 형식 System.OutOfMemoryException throw되었습니다.
ReportingServicesService! 알림! 618! 7/9/2003-16: 06: 01:: 알림 380e6cd2-3e3d-4549-9ed5 - 완료된 9fb6b42266b6. 성공: False, 상태: 오류: 형식 System.OutOfMemoryException throw된 예외., DeliveryExtension: 보고서 서버 전자 메일, 보고서: 송장, 0 시도
ReportingServicesService! dbpolling! 618! 7/9/2003-16: 06: 01:: NotificationPolling 항목을 380e6cd2-3e3d-4549-9ed5-9fb6b42266b6 처리 완료
ReportingServicesService! servicecontroller! 568! 7/9/2003-16: 09: 30:: i INFO: 요청한 메모리 제약 조건은 응용 프로그램 도메인 재활용
ReportingServicesService! servicecontroller! 568! 7/9/2003-16: 09: 30:: i INFO: 기본 도메인의 서비스 재생
ReportingServicesService! dbpolling! 568! 7/9/2003-16: 09: 30:: EventPolling 폴링 서비스가 중지되었습니다.
ReportingServicesService! dbpolling! 87 c! 7/9/2003-16: 09: 30:: EventPolling 하트비트 스레드를 종료하기 위한 중지.
ReportingServicesService! dbpolling! 568! 7/9/2003-16: 09: 30:: NotificationPolling 폴링 서비스가 중지되었습니다.
ReportingServicesService! dbpolling! 880! 7/9/2003-16: 09: 30:: NotificationPolling 하트비트 스레드를 종료하기 위한 중지.
ReportingServicesService! dbpolling! 568! 7/9/2003-16: 09: 30:: SchedulePolling 폴링 서비스가 중지되었습니다.
보고서 서버 Windows 서비스의 예외를 catch한 다음 해당 프로세스를 종료합니다. 두 단계 프로세스가 아니므로 프로세스에서 있는 요청이 손실됩니다.

이 문제를 방지하려면 모든 설정을 구성할 수 없습니다. 이 문제는 메모리 양을 컴퓨터 및 다른 프로세스의 메모리 사용량의 영향을 받습니다.

이 문제를 해결하려면 컴퓨터에 실제 메모리를 더 추가하거나 다른 프로세스의 메모리 사용량을 줄일 수 있습니다.

보고서 서버 Windows 서비스 및 메모리 제한

않은 보고서 파일 공유로 배달되거나 가입한 수신자에게 배달할. 구독의 Status 속성을 "스레드 중단" 값을 가져야 합니다. 오류 SQL Server 2000 Reporting Services 로그 파일에 다음 오류 메시지와 유사한 메시지가 기록됩니다.

ReportingServicesService! reportrendering! 17a8! 09/28/2005-16: 10: 12:: e 오류: 도끼 Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: 형식 Microsoft.ReportingServices.ReportRendering.ReportRenderingException throw된 예외., 정보: Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: 예외 형식 Microsoft.ReportingServices.ReportRendering.ReportRenderingException throw되었습니다. Microsoft.ReportingServices.ReportRendering.ReportRenderingException--->: 예외 형식 Microsoft.ReportingServices.ReportRendering.ReportRenderingException throw되었습니다. System.Threading.ThreadAbortException--->: 스레드 중단되었습니다.
ReportingServicesService! runningjobs! 17a8! 09/28/2005-16: 10: 12:: i INFO: CancelableJobExecution.Execute 일부 다른 스레드 중단 예외가 발견되었습니다.
ReportingServicesService! 라이브러리! 17a8! 09/28/2005-16: 10: 12:: i INFO: 초기화 '서버 시스템 속성에서 지정한 True' 로 EnableExecutionLogging.
ReportingServicesService! runningjobs! 1810! 09/28/2005-16: 10: 12:: i INFO: CancelableJobExecution.Execute 일부 다른 스레드 중단 예외가 발견되었습니다.
ReportingServicesService! 라이브러리! 1810! 09/28/2005-16: 10: 12:: i INFO: 초기화 '서버 시스템 속성에서 지정한 True' 로 EnableExecutionLogging.
ReportingServicesService! dbpolling! 1810! 09/28/2005-16: 10: 12:: 더 이상 항목을 6e786bb5-3e4d-462a-92 fc-2942e6aec007, 처리 NotificationPolling 다시 대기열에 들어갔습니다 수 없습니다
ReportingServicesService! dbpolling! 1810! 09/28/2005-16: 10: 12:: 큐 작업자 스레드의 처리되지 않은 예외가 발생했습니다: System.Threading.ThreadAbortException: 스레드 중단되었습니다.
Microsoft.ReportingServices.Library.NotificationQueueWorker.HandleNotification(QueueItem item) 때
Microsoft.ReportingServices.Library.NotificationQueueWorker.QueueWorker(QueueItem item) 때
시 (개체 상태) Microsoft.ReportingServices.Library.QueuePollWorker.WorkItemStart
참고 이러한 메시지는 로그 파일에 의해 갑자기 끝 뒤에 있습니다.

보고서 서버 Windows 서비스가 기존 요청을 완료하는 시도합니다. 또한 보고서 서버 Windows 서비스가 자체 구성 설정을 요청한 작업을 메모리 제한을 초과하지 않도록 모니터링합니다. 요청한 작업을 메모리 제한을 초과하지 않으면 보고서 서버 Windows 서비스가 프로세스를 중지합니다. 보고서 서버 Windows 서비스를 자동으로 시작할 작업 목록에서 실패한 작업을 넣습니다. 보고서 서버 Windows 서비스가 다시 시작될 때 보고서 서버 Windows 서비스가 작업을 다시 실행할 시도합니다.

두 설정을 RSReportServer.config 파일에서 메모리 구성에 영향을 줍니다. MaximumMemoryLimit 설정과 해당 <service>MemoryLimit 설정에서 특정 항목이 있습니다. 태그.

이 값은 실제 메모리의 백분율을 나타냅니다. 기존 요청 메모리 소비가 MemoryLimit 설정에 의해 지정된 백분율 도달하면 추가 요청을 걸리는 보고서 서버 Windows 서비스를 중지합니다. 그러나 현재 진행 중인 요청을 계속. 사용 가능한 메모리가 MemoryLimit 설정에 의해 지정된 백분율 작은지 후에 새 요청은 다시 허용됩니다.

기존 요청 메모리 소비가 MaximumMemoryLimit 설정에 의해 지정된 백분율 도달하면 보고서 서버 응용 프로그램 도메인이 종료됩니다.

이러한 설정을 해당 <processmodel>에서 메모리 제한을 모방합니다. Machine.config 파일에서 섹션 및 효과적으로 동일하게 작동합니다. 이러한 설정은 Reporting Services 웹 서비스 및 보고서 서버 Windows 서비스를 간의 일관성을 활용하여.

참조

자세한 내용은 SQL Server 설명서의 다음 항목을 참조하십시오 온라인:
  • 드릴스루 보고서 링크를 추가하는 방법 (보고서 디자이너)
  • 보고서 내보내기
  • RSReportServer 구성 파일
  • 보고서 서버 응용 프로그램 도메인 재활용

속성

기술 자료: 909678 - 마지막 검토: 2009년 11월 24일 화요일 - 수정: 3.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2000 Reporting Services
  • Microsoft SQL Server 2005 Reporting Services
키워드:?
kbmt kbexpertiseadvanced kbprb KB909678 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
이 문서의 영문 버전 보기:909678

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com