При использовании служб отчетов SQL Server может появиться сообщение об ошибке «System.OutOfMemoryException»

Переводы статьи Переводы статьи
Код статьи: 909678 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

При использовании Microsoft SQL Server 2000 Reporting Services, или использовать Microsoft SQL Server 2005 Reporting Services, может появиться следующее сообщение об ошибке:

Объект Произошла внутренняя ошибка на сервере отчетов.
Просмотреть журнал ошибок для получения дополнительных Подробные сведения. (rsInternalError) Справка в Интернете
Исключение типа Исключение System.OutOfMemoryException.
Кроме того вы можете заметить что в отчетности SQL Server регистрируется следующее сообщение об ошибке Файл журнала службы или внезапно завершает журнала:

System.OutOfMemoryException: Исключение типа Исключение System.OutOfMemoryException.
Вы можете заметить, что один из следующие события записывается в журнал приложений Microsoft Windows.

Событие 1


aspnet_wp.exe (PID:<pidnumber></pidnumber>) был перезапущен, так как память Превышение потребления <sizelimit></sizelimit> МБ (<percentage></percentage> Процентная доля доступной ОПЕРАТИВНАЯ ПАМЯТЬ).

События 2


Пул приложений обслуживанием процесса «defaultapppool», обнаружил неустранимую ошибку связи с Интернет Служба публикации. Идентификатор процесса: «9132». В поле данных номер ошибки.

Эта проблема может возникнуть вместе с одним или несколькими следующие признаки:
  • При попытке вывести отчет, отчет не может завершено.
  • Отчет появляется перестает отвечать на запросы.
  • При попытке вывести отчет является пустой экран отображается.
  • Появляется следующее сообщение об ошибке:

    Базовое соединение закрыто
  • Подписки не доставляются.

Причина

Эта проблема возникает, поскольку компьютер не поддерживает Недостаточно памяти для завершения запрошенной операции.

Ограничение Службы отчетов SQL Server 2000 вызывает определенные части для обработки отчетов привязать памяти. Например запрос объектной моделью и обработки результатов визуализации, память.

Компьютер не имеет достаточных памяти для завершения запрошенной операции, когда один или несколько из следующих действий признаки:
  • Отчет представляет собой слишком велико или слишком сложное.
  • Очень издержки запущенных процессов Высокая.
  • Объем физической памяти компьютера слишком небольшой.
Отчет обрабатывается в два этапа. Две стадии выполнение и подготовки отчетов. Данная проблема может возникать на этапе выполнения или на этапе подготовки.

Если ошибка возникает во время выполнения этап, эта проблема чаще всего возникает слишком много памяти данных, возвращаемых в результате запроса. Кроме того следующие факторы влияют на потребление памяти во время выполнения этапа:
  • Группирование
  • Фильтрация
  • Агрегат
  • Сортировка
  • Пользовательский код
Если эта проблема возникает на стадии, причиной является связанные с какая информация отображается отчет и способ отображения отчета сведения. Например следующие факторы влияют на потребление памяти на стадии:
  • Количество и типы элементов управления
  • Связь между элементами управления
  • Форматирование
  • Объем отображаемых данных
Для получения дополнительных сведений о компоненте обработчик отчетов по адресу следующий веб-узел Microsoft Developer Network (MSDN):
http://msdn2.Microsoft.com/en-us/library/aa179471 (SQL.80) .aspx

Решение

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

Способ 1

Добавьте достаточный объем физической памяти компьютера.

Примечание При наличии более 2 гигабайт (ГБ) памяти, включение очередь / / 3 GB Переключение в файле Boot.ini для повышения производительности. Для получения дополнительных сведений об использовании параметра/3 GB в SQL Server, нажмите кнопку следующий номер статьи базы знаний Майкрософт:
274750Как настроить SQL Server на использование физической памяти более 2 ГБ.

Способ 2

Расписания отчетов на нерабочие часы, когда ограничения памяти ниже.

Способ 3

Настройка MemoryLimit Установка соответствующим образом.

Примечание При подготовке отчета веб-служб отчетов Получает службы Reporting Services веб-службы MemoryLimit параметр из файла Machine.config. Тем не менее запланированных отчетов подготавливается к просмотру с помощью службы Windows сервера отчетов. Windows сервера отчетов Получает службу MemoryLimit параметр из файла RSReportServer.config.

Для получения дополнительных сведения о MemoryLimit Установка, обратитесь к разделу «Дополнительная информация».

Способ 4

Обновление до 64-разрядной версии Microsoft SQL Server 2005 Reporting Службы.

Метод 5

Перестроить отчет. Для этого воспользуйтесь одним из следующих методов.

Метод a

Перепроектирование отчетов запросов. Можно сократить потребление памяти изменить структуру запросов отчета следующим образом:
  • Возвращает меньше данных в запросах отчетов.
  • Использование более ограниченного использования программ в предложении WHERE отчета запросы.
  • Перемещение сложных статистических выражений к источнику данных.

Метод b

Экспорт отчета в другой формат. Уменьшение памяти потребление ресурсов, используя другой формат для отображения в отчете. Ниже таблице перечислены несколько форматов экспорта в порядке от большинства потребление памяти не менее потребление памяти.
Свернуть эту таблицуРазвернуть эту таблицу
ФорматОписание
Microsoft ExcelСоздает отчет в Excel
Изображения (TIFF)Отображает отчет в виде статического изображения в постраничном формате
PDFСоздает отчет Portable Document Format (PDF)
HTMLОтображает отчет в формате HTML в веб-обозревателе
CSVПодготавливает отчет к просмотру в формате с разделителями запятыми. очередь отчет открывается в средстве просмотра, связанного с форматами файлов CSV
XMLСоздает отчет в формате XML; отчет открывается в Браузер
Примечание Если не применить преобразование XSLT, этот формат будет требуется меньше памяти, чем в формате CSV использует.

Метод c

Упрощение разработки отчетов. Можно сократить потребление памяти Упрощение разработки отчетов следующим образом:
  • Включать меньшее число областей данных или элементов управления в отчет.
  • Детализированный отчет используется для отображения сведений.
Кроме того Если отчет предназначен только данные коллекции, можно использовать другие продукты корпорации Майкрософт для повышения производительности. Для пример, можно использовать Microsoft SQL Server или служб DTS 2005 Служб integration Services.

Пример

Следующий пример демонстрирует эту проблему. Рассмотрим следующий пример:
  • Отчет, который возвращает 160 страниц диспетчера отчетов не может быть к просмотру в формате PDF, в формате Excel. Отчет может гораздо шире, чем 250 страниц используется размер страницы размером 8,5 на 11 дюймов.
  • Источник данных для отчета возвращает 500 мегабайт (МБ) данных на сервере отчетов. Как правило SQL Server 2000 Reporting Services требуется два-три раза объем памяти, используемый набор данных. Таким образом службы отчетов SQL Server 2000, требует почти 1,5 ГБ памяти для подготовки отчета.
Для решения проблемы в данном примере Перестроить отчет так что в отчете показаны сводные данные только для ограниченного набора значений фильтра. Кроме того, убедитесь, что в базе данных происходит статистической обработки запроса, Отчет извлекает данные и что статистическая схема не в самом отчете. Эти методы помогают значительно сократить объем данных, возвращаемых сервер отчетов. Таким образом, отчет отображается успешно и многое другое быстро.

Дополнительная информация

При использовании SQL Server 2000 Reporting Services может возникают проблемы относящихся к памяти, которая может быть вызвано одной из следующих условия возникновения ошибок:
  • В System.OutOfMemoryException возникает ошибка.
  • Достижении ограничения памяти.
Основное различие между условиями ошибки — это уровень, на который условия ошибок перехвачено и обработано.

В System.OutOfMemoryException Ошибка происходит ошибка, вызвавшая по SQL Server 2000 Reporting Службы при операции требует большего объема памяти из системы и системы не удалось предоставить память. При возникновении этой ошибки SQL Server 2000 Reporting Службами завершает процесс небезопасным образом. Завершение работы считается небезопасным Поскольку ресурсы между запуск служб отчетов SQL Server 2000 запросы. Таким образом службы отчетов SQL Server 2000 не может гарантировать, что данные по-прежнему безопасно для всех запросов.

Ограничение памяти — это набор Параметры защиты системы от потенциально дестабилизации условий. Например обработки памяти, ограничения защиты сервера отчетов с помощью слишком много памяти. Задаются ограничения памяти MemoryLimit Задание и до MaximumMemoryLimit настройки, определенные в файле RSReportServer.config. Когда Достигнут предел памяти, возникновении ошибок корпорацией Майкрософт.NET Framework до SQL Server 2000 Reporting Services фактически нехватке память.

Можно подготовить отчет с веб-узла или из запланированных задача. Таким образом об условиях может возникнуть в двух различных средах в SQL Server 2000 Reporting Services. Ниже перечислены средах.
  • Службы Reporting Services Web
  • Служба Windows сервера отчетов
Таким образом, следующие сочетания условий ошибок и существует средах.

Службы Reporting Services веб-службы и об System.OutOfMemoryException

Сообщения об исключениях и сообщения о завершении работы, которые похожи на следующие сообщения записываются в журнал службы отчетов SQL Server 2000 Файл (ReportServerService_<timestamp></timestamp>.log):

w3wp! библиотеки! 1b3c! 11-07-2005-10:38:00:: e ошибка: обнаружен System.OutOfMemoryException исключение: Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: Исключение типа Было Microsoft.ReportingServices.ReportRendering.ReportRenderingException создается исключение. ---> Microsoft.ReportingServices.ReportRendering.ReportRenderingException: исключение Тип Microsoft.ReportingServices.ReportRendering.ReportRenderingException исключение. ---> System.OutOfMemoryException: исключение типа Исключение System.OutOfMemoryException.

w3wp! библиотеки! 1b3c! 11-07-2005-10:38:00:: e ошибка: завершающий рабочий Процесс
Примечание По умолчанию ReportServerService_<timestamp></timestamp>файл .log следующее расположение:
\Microsoft SQL Server\<instance of="" sql="" server=""></instance>\Reporting Services\LogFiles
Кроме того события, которые похожи на следующие события в журнале приложений регистрируется:


События Тип: предупреждение
Источник события: W3SVC
Категория события: нет
КОД события: 1011
Дата: Дата
Время: Время
Пользователь: н/Д
Компьютер: Имя_компьютера
Описание:
Процесс обслуживания пул приложений "defaultapppool", обнаружил неустранимую ошибку связи с Публикаций World Wide Web Service. Идентификатор процесса: «9132». Поле данных содержит номер ошибки.

SQL Server 2000 Reporting Services нельзя корректно обработать эту ошибку. Перехватывает службы Reporting Services Web исключение и завершением процесса. Следует повторить отправку запрос.

Чтобы устранить эту проблему, можно добавить дополнительной памяти системы и снизить потребление памяти друга процессы.

В идеале можно отрегулировать MemoryLimit Установка или Пул приложений Установка из Microsoft Internet информации службы (IIS) 6.0, возникает ошибка перехвачена перед ситуации нехватки памяти. Таким образом, процесс описывается более аккуратно. Вы должны экспериментировать с параметры, и нет никакой гарантии, что будет постоянный доступ к памяти ограничивает сначала.

Службы Reporting Services Web и ограничения памяти

Сообщения записываются в журнал событий Windows и SQL Server Файл журнала служб Reporting Services 2000. Файл журнала службы Reporting Services Web Указывает, что процесс завершает работу. Однако отчетов SQL Server 2000 Не влияет на завершение работы службы и нельзя записывать сведения об о завершении работы.

Можно заметить, что одно из следующих событий — в журнале приложений регистрируется:

Событие 1


aspnet_wp.exe (PID:<pidnumber></pidnumber>) был перезапущен, так как память Превышение потребления <sizelimit></sizelimit> МБ (<percentage></percentage> Процентная доля доступной ОПЕРАТИВНАЯ ПАМЯТЬ).

События 2


Рабочий процесс с id «2420» раздача пул приложений "defaultapppool" запросил повторный запуск поскольку достигнут предел виртуальной памяти.

Когда ограничивает объем памяти до предела, Microsoft ASP.NET или IIS 6.0 обрабатывает эту ошибку и завершает работу Службы Reporting Services веб-службы. Ограничение памяти указываются с ASP.NET или с IIS 6.0 и являются не под управлением SQL Server 2000 Reporting Службы.

Можно изменить ограничения памяти в группе <processmodel></processmodel> раздел в файле Machine.config.

Примечание При работе IIS 6.0 в основном режиме, файл Machine.config файл не используется. Ограничение памяти управляются свойствами пул приложений в 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 типа.
ReportingServicesService! уведомлений! 618! 7/9/2003-16: 06: 01:: возникает ошибка поставщиком доставки: System.OutOfMemoryException: исключение типа Исключение System.OutOfMemoryException.
ReportingServicesService! уведомлений! 618! 7/9/2003-16: 06: 01:: уведомление 380e6cd2-3e3d-4549-9ed5-9fb6b42266b6 завершена. Успех: False, состояние: ошибка: Исключение типа исключение System.OutOfMemoryException., 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 информация: Запрошенный домена очистки памяти ограничение app
ReportingServicesService! servicecontroller! 568! 7/9/2003-16: 09: 30:: i информация: Перезапуск службы от домена по умолчанию
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 сервера отчетов перехватывает исключение и завершением процесса. Это не корректного процесса и любые других запросов, находящихся в процессе будут потеряны.

Не удается настроить любой параметры для предотвращения этой проблемы. Эта проблема зависит от объема памяти на компьютере и потребление памяти другим процессам.

Для эту проблему, можно увеличить объем оперативной памяти компьютера или уменьшить потребление памяти другим процессам.

Служба Windows сервера отчетов и ограничения памяти

Отчеты не доставлено в общую папку или не доставляются подписанные получателей. В Состояние Свойства подписки имеет значение «Потоков прерывание». Ошибка сообщения, подобные приведенным ниже сообщений об ошибках записываются в SQL Файл журнала служб Reporting Server 2000:

ReportingServicesService! reportrendering! 17a8! 09/28/2005 г.-16: 10: 12:: e ошибка: создание Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: Исключение типа Было Microsoft.ReportingServices.ReportRendering.ReportRenderingException исключение., Информация: Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: Исключение типа Было Microsoft.ReportingServices.ReportRendering.ReportRenderingException создается исключение. ---> Microsoft.ReportingServices.ReportRendering.ReportRenderingException: исключение Тип Microsoft.ReportingServices.ReportRendering.ReportRenderingException исключение. ---> System.Threading.ThreadAbortException: формировался потока прервана.
ReportingServicesService! runningjobs! 17a8! 09/28/2005 г.-16: 10: 12:: я ИНФОРМАЦИЯ: CancelableJobExecution.Execute перехвачено некоторые исключения прерывание потока
ReportingServicesService! библиотеки! 17a8! 09/28/2005 г.-16: 10: 12:: i информация: Инициализация EnableExecutionLogging «ИСТИНА» как указано в серверной системе свойства.
ReportingServicesService! runningjobs! 1810! 09/28/2005 г.-16: 10: 12:: i информация: CancelableJobExecution.Execute перехвачено некоторые исключения прерывание потока
ReportingServicesService! библиотеки! 1810! 09/28/2005 г.-16: 10: 12:: i информация: Инициализация EnableExecutionLogging «ИСТИНА» как указано в серверной системе свойства.
ReportingServicesService! dbpolling! 1810! 09/28/2005 г.-16: 10: 12:: NotificationPolling больше не обрабатывает элемент 6e786bb5-3e4d-462a-92 fc-2942e6aec007, будет повторно
ReportingServicesService! dbpolling! 1810! 09/28/2005 г.-16: 10: 12:: рабочие очереди поток Обнаружено необработанное исключение: System.Threading.ThreadAbortException: Поток прервана.
в Microsoft.ReportingServices.Library.NotificationQueueWorker.HandleNotification (QueueItem элемент)
в Microsoft.ReportingServices.Library.NotificationQueueWorker.QueueWorker (QueueItem элемент)
в Microsoft.ReportingServices.Library.QueuePollWorker.WorkItemStart (состояние объекта)
Примечание Эти сообщения следуют внезапной end в журнал файл.

Пытается выполнить существующие службы Windows сервера отчетов запросы. Кроме того служба Windows сервера отчетов контролирует свои собственные параметры конфигурации, чтобы убедиться, что запрошенная операция не может превышать ограничения памяти. Если запрошенная операция превысить ограничения оперативной памяти Служба Windows сервера отчетов прекращает процесс. Windows сервера отчетов Служба автоматически помещает невыполненные задания в списке задач загрузки. При Перезапускается, попыток службы сервера отчетов Windows служба Windows сервера отчетов для повторного запуска задания.

Два параметра в файле RSReportServer.config изменения конфигурации памяти. Конкретные записи MaximumMemoryLimit Установка и MemoryLimit Установка в <service></service> тег.

Эти значения представляют собой процент физически память. Если потребление памяти существующих запросов достигает процент, указанный в параметре MemoryLimit Установка, служба Windows сервера отчетов прекращает перевод дополнительные запросы. Тем не менее продолжают запросов, выполняющихся в данный момент. Новые запросы принимаются снова после свободной памяти меньше, чем процент указанного MemoryLimit значение параметра.

Если потребление памяти существующих запросы достигает процент, указанный в параметре MaximumMemoryLimit Установка, является домен приложений сервера отчетов завершен.

Эти параметры имитации ограничения памяти в группе <processmodel></processmodel> в разделе в файле Machine.config и эффективно работает подобно способ. Эти параметры сдать согласованности между Reporting Services веб-службы и служба Windows сервера отчетов.

Ссылки

Дополнительные сведения содержатся в следующих разделах, в SQL Server Электронная документация:
  • Как добавить ссылку на детализированный отчет (отчет Конструктор)
  • Экспорт отчетов
  • Файл конфигурации RSReportServer
  • Повторное использование доменов приложений сервера отчетов

Свойства

Код статьи: 909678 - Последний отзыв: 18 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Reporting Services
  • Microsoft SQL Server 2005 Reporting Services
Ключевые слова: 
kbsqlsetup kbexpertiseadvanced kbprb kbmt KB909678 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: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