ID do artigo: 909678 - Última revisão: terça-feira, 24 de novembro de 2009 - Revisão: 3.0 Você pode receber a mensagem de erro "System.OutOfMemoryException" quando você usar o SQL Server Reporting Services
Nesta páginaSintomasQuando você usar o Microsoft SQL Server 2000 Reporting Services ou usar o Microsoft SQL Server 2005 Reporting Services, você pode receber a seguinte mensagem de erro: Ocorreu um erro interno no servidor de relatório. Consulte o log de erro para obter mais detalhes. (rsInternalError) Obter ajuda online Exceção do tipo System.OutOfMemoryException foi lançada. System.OutOfMemoryException: Exceção do tipo System.OutOfMemoryException foi lançada. Evento 1
CausaEsse problema ocorre porque o computador não tem memória suficiente para concluir a operação solicitada. Uma limitação no SQL Server 2000 Reporting Services faz com que certas partes do relatório de processamento para ser acoplada de memória. Por exemplo, processamento de resultado de consulta e renderização de modelo de objeto são memória acoplada. O computador não tem memória suficiente para concluir a operação solicitada quando um ou mais das seguintes condições forem verdadeiras:
Se esse problema ocorre durante o estágio de execução, esse problema ocorre provavelmente porque muita memória consumida pelos dados retornados no resultado da consulta. Além disso, os seguintes fatores afetam o consumo de memória durante o estágio de execução:
http://msdn2.microsoft.com/en-us/library/aa179471(SQL.80).aspx
(http://msdn2.microsoft.com/en-us/library/aa179471(SQL.80).aspx)
ResoluçãoPara resolver esse problema, use um dos seguintes métodos. Método 1Adicione memória física suficiente para o computador.Observação Se você tiver mais de 2 gigabytes (GB) de memória, você pode habilitar o / 3 GB alternar no arquivo Boot.ini para melhor desempenho. Para obter mais informações sobre como usar a opção/3 GB no SQL Server, clique no número abaixo para ler o artigo na Base de dados de Conhecimento: 274750
(http://support.microsoft.com/kb/274750/
)
Como configurar o SQL Server para usar mais de 2 GB de memória física Método 2Agendar relatórios para executar em horas de menor movimento quando restrições de memória são inferiores.Método 3Ajustar MemoryLimit configuração apropriadamente.Observação Quando processar um relatório através da Web de serviços Reporting service, serviço da Web de serviços de relatório obtém configuração MemoryLimit do arquivo Machine.config. No entanto, um relatório agendado é processado pelo serviço Report Server Windows. O Report Server Windows serviço obtém a configuração de MemoryLimit de arquivo RSReportServer.config. Para obter mais informações sobre a configuração de MemoryLimit, consulte a seção "Mais informação". Método 4Atualizar para uma versão de 64 bits do Microsoft SQL Server 2005 Reporting Services.Método 5Recrie o relatório. Para fazer isso, use um dos seguintes métodos.Método umRecrie as consultas de relatório. Você pode reduzir o consumo de memória, redimensionando consultas relatório das seguintes maneiras:
Método BExporte o relatório para um formato diferente. Você pode reduzir o consumo de memória usando um formato diferente para exibir o relatório. A tabela a seguir lista vários formatos de exportação na ordem da maioria dos consumo de memória para menos consumo de memória.Recolher esta tabela
Método CSimplifica o design de relatório. Você pode reduzir o consumo de memória, simplificando o design de relatório das seguintes maneiras:
ExemploO exemplo a seguir demonstra como resolver esse problema. Considere o exemplo a seguir:
Mais InformaçõesQuando você usar o SQL Server 2000 Reporting Services, você pode enfrentar um problema relacionado a memória é causado por uma das seguintes condições de erro:
Erro System.OutOfMemoryException é um erro gerado pelo SQL Server 2000 Reporting Services quando uma operação solicita mais memória do sistema e o sistema não pode fornecer a memória. Quando este erro ocorre, SQL Server 2000 Reporting Services desliga o processo de modo não seguro. O desligamento não é seguro porque o SQL Server 2000 Reporting Services compartilha recursos entre solicitações em execução. Portanto, SQL Server 2000 Reporting Services não pode garantir que dados são ainda seguros para todas as solicitações. Os limites de memória são um conjunto de configurações para ajudar a proteger o sistema de desestabilizar potencialmente condições. Por exemplo, a memória limites ajudam a impedir que um servidor de relatório processo de usar muita memória. Os limites de memória são especificados através da configuração MemoryLimit e através da configuração MaximumMemoryLimit definido no arquivo RSReportServer.config. Quando os limites de memória são atingidos, erros são gerados pelo Microsoft .NET Framework antes de realmente executa o SQL Server 2000 Reporting Services de memória. Você pode processar um relatório a partir de um site ou uma tarefa agendada. Portanto, as condições de erro podem ocorrer nos dois ambientes diferentes no SQL Server 2000 Reporting Services. Os ambientes são:
O Reporting Services Web service e o erro System.OutOfMemoryExceptionMensagens de exceção e mensagens de desligamento são semelhantes às seguintes mensagens são registradas no arquivo de log do SQL Server 2000 Reporting Services (ReportServerService_ <timestamp>.log):W3wp! biblioteca! 1b3c! 11/07/2005-10:38:00:: e erro: exceção encontrada System.OutOfMemoryException: Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: exceção do tipo Microsoft.ReportingServices.ReportRendering.ReportRenderingException foi lançada. ---> Microsoft.ReportingServices.ReportRendering.ReportRenderingException: exceção do tipo Microsoft.ReportingServices.ReportRendering.ReportRenderingException foi lançada. ---> System.OutOfMemoryException: exceção do tipo System.OutOfMemoryException foi lançada. W3wp! biblioteca! 1b3c! 11/07/2005-10:38:00:: e erro: encerramento de processo do operador \Microsoft SQL servidor\ <Instance of SQL Server> \Reporting Services\LogFiles Além disso, os eventos que são semelhantes às seguintes eventos são registrados no log do aplicativo:
Para resolver esse problema, você pode adicionar mais memória física ao sistema ou reduzir o consumo de memória de outros processos. Idealmente, você pode ajustar a configuração de MemoryLimit ou a configuração de Pool de aplicativos do Microsoft Internet Information Services (IIS) 6.0 para que um erro é detectado antes situação de memória ocorre. Portanto, o processo é lidou com mais normalmente. Você deve experimentar as configurações e há nenhuma garantia você sempre chegar primeiro limites de memória. O Reporting Services Web service e os limites de memóriaMensagens são registradas no log de eventos do Windows e no arquivo de log do SQL Server 2000 Reporting Services. O arquivo de log do serviço Web do Reporting Services indica que o processo está sendo desligado. No entanto, o SQL Server 2000 Reporting Services não controla o desligamento e não pode registrar as informações de erro sobre o desligamento.Você pode perceber um dos seguintes eventos é registrado no log do aplicativo: Evento 1
Você pode alterar os limites de memória sob o <processmodel> seção no arquivo Machine.config. Observação Se você estiver executando o IIS 6.0 no modo nativo, Machine.config arquivo não é usado. Os limites de memória são controlados por propriedades do pool de aplicativos no IIS 6.0. Para obter mais informações sobre configuração de memória no ASP.NET e no IIS 6.0, visite os sites do MSDN:
Serviço Report Server Windows e o erro System.OutOfMemoryExceptionRelatórios não são entregues a um compartilhamento de arquivo ou entregues a destinatários inscritos. Ao processar o agendada processo reinicia automaticamente, o processo tenta executar a mesma inscrição novamente como parte do processo de recuperação. Mensagens de erro semelhantes às seguintes mensagens de erro são registradas no arquivo de log do SQL Server 2000 Reporting Services:ReportingServicesService! biblioteca! 618! 7/9/2003-16: 06: 01:: status: erro: exceção do tipo System.OutOfMemoryException foi lançada. ReportingServicesService! notificação! 618! 7/9/2003-16: 06: 01:: erro acionado pelo provedor de entrega: System.OutOfMemoryException: exceção do tipo System.OutOfMemoryException foi lançada. ReportingServicesService! notificação! 618! 7/9/2003-16: 06: 01:: notificação 380e6cd2-3e3d-4549-9ed5-9fb6b42266b6 concluída. Êxito: False, status: erro: exceção do tipo System.OutOfMemoryException foi lançada., DeliveryExtension: email do Report Server, Report: fatura, tentativa 0 ReportingServicesService! dbpolling! 618! 7/9/2003-16: 06: 01:: NotificationPolling terminado processamento item 380e6cd2-3e3d-4549-9ed5-9fb6b42266b6 ReportingServicesService! servicecontroller! 568! 7/9/2003-16: 09: 30:: i INFO: memória restrição aplicativo domínio reciclagem solicitada ReportingServicesService! servicecontroller! 568! 7/9/2003-16: 09: 30:: i INFO: Reciclando o serviço de domínio padrão ReportingServicesService! dbpolling! 568! 7/9/2003-16: 09: 30:: EventPolling sondagem serviço interrompido ReportingServicesService! dbpolling! 87 c! 7/9/2003-16: 09: 30:: EventPolling thread de pulsação saindo parada. ReportingServicesService! dbpolling! 568! 7/9/2003-16: 09: 30:: NotificationPolling sondagem serviço interrompido ReportingServicesService! dbpolling! 880! 7/9/2003-16: 09: 30:: thread de pulsação NotificationPolling saindo parada. ReportingServicesService! dbpolling! 568! 7/9/2003-16: 09: 30:: SchedulePolling sondagem serviço interrompido Não é possível configurar quaisquer configurações para evitar esse problema. Esse problema é afetado por quantidade de memória no computador e o consumo de memória de outros processos. Para resolver esse problema, você pode adicionar mais memória física ao computador ou reduzir o consumo de memória de outros processos. Serviço Report Server Windows e os limites de memóriaRelatórios não são entregues a um compartilhamento de arquivo ou entregues a destinatários inscritos. A propriedade de status de uma inscrição tem o valor "Anulação de thread". Erro mensagens semelhantes às seguintes mensagens de erro são registradas no arquivo de log do SQL Server 2000 Reporting Services:ReportingServicesService! reportrendering! 17a8! 09/28/2005-16: 10: 12:: e erro: inclusão Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: exceção do tipo Microsoft.ReportingServices.ReportRendering.ReportRenderingException foi lançada., INFO: Microsoft.ReportingServices.ReportProcessing.WrapperReportRenderingException: exceção do tipo Microsoft.ReportingServices.ReportRendering.ReportRenderingException foi lançada. ---> Microsoft.ReportingServices.ReportRendering.ReportRenderingException: exceção do tipo Microsoft.ReportingServices.ReportRendering.ReportRenderingException foi lançada. ---> System.Threading.ThreadAbortException: thread estava sendo anulado. ReportingServicesService! runningjobs! 17a8! 09/28/2005-16: 10: 12:: I INFO: CancelableJobExecution.Execute detectada outra exceção de anulação de thread ReportingServicesService! biblioteca! 17a8! 09/28/2005-16: 10: 12:: i INFO: Inicializando EnableExecutionLogging para 'True' como especificado nas propriedades do sistema de Server. ReportingServicesService! runningjobs! 1810! 09/28/2005-16: 10: 12:: i INFO: CancelableJobExecution.Execute detectada outra exceção de anulação de thread ReportingServicesService! biblioteca! 1810! 09/28/2005-16: 10: 12:: i INFO: Inicializando EnableExecutionLogging para 'True' como especificado nas propriedades do sistema de Server. ReportingServicesService! dbpolling! 1810! 09/28/2005-16: 10: 12:: NotificationPolling não mais processamento item 6e786bb5-3e4d 462a 92 fc-2942e6aec007, irá ser recolocado na fila ReportingServicesService! dbpolling! 1810! 09/28/2005-16: 10: 12:: thread de trabalho da fila detectada exceção não tratada: System.Threading.ThreadAbortException: thread estava sendo anulado. em Microsoft.ReportingServices.Library.NotificationQueueWorker.HandleNotification(QueueItem item) em Microsoft.ReportingServices.Library.NotificationQueueWorker.QueueWorker(QueueItem item) em Microsoft.ReportingServices.Library.QueuePollWorker.WorkItemStart (estado do objeto) Serviço Report Server Windows tenta concluir solicitações existentes. Além disso, o serviço Report Server Windows monitora suas próprias configurações de configuração para certificar-se de uma operação solicitada não exceda os limites de memória. Se uma operação solicitada exceder os limites de memória, o serviço Report Server Windows pára o processo. O Report Server Windows serviço coloca automaticamente os trabalhos com falha em uma lista de tarefas de inicialização. Quando o serviço Report Server Windows for reiniciado, o serviço Report Server Windows tenta executar os trabalhos novamente. Duas configurações no arquivo RSReportServer.config afetam a configuração de memória. As entradas específicas são configuração MaximumMemoryLimit e a configuração de MemoryLimit o <service> marca. Esses valores representam um percentual de memória física. Se o consumo de memória de solicitações existentes atingir o percentual especificado pela configuração MemoryLimit, serviço Report Server Windows pára levando solicitações adicionais. No entanto, as solicitações que estão atualmente em andamento continuam. Novas solicitações são aceitas novamente após liberar memória é menor que o percentual especificado pela configuração MemoryLimit. Se o consumo de memória de solicitações existentes atingir o percentual especificado pela configuração MaximumMemoryLimit, o domínio de aplicativo do servidor de relatório é encerrado. Essas configurações imitam os limites de memória sob o <processmodel> seção no arquivo Machine.config e efetivamente funcionam da mesma maneira. Essas configurações emprestar consistência entre o Reporting Services Web service e do serviço Report Server Windows. ReferênciasPara obter mais informações, consulte os tópicos a seguir no SQL Server Books Online:
A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado. Clique aqui para ver a versão em Inglês deste artigo: 909678
(http://support.microsoft.com/kb/909678/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesTraduções deste artigo |






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início