2011-01-11 38 views
5

En cuanto a la excepción de memoria insuficiente en SQL Server 2008:excepción de memoria insuficiente en SQL 2008

Cuando ejecuto consulta de gran tamaño que se inserta miles de filas en una tabla,

La excepción que se produce cuando la ejecución de este es "System.OutOfMemoryException".

+0

Necesita más información. ¿Qué estás haciendo qué causa el problema? –

+1

'System.OutOfMemoryException' es una excepción' .NET', lo que significa que su cliente probablemente la lanzará (SSMS). Intente dividir el archivo en trozos más pequeños o utilizando una utilidad diferente para ejecutar la consulta. –

Respuesta

4

De acuerdo con un muy buen artículo de base de conocimiento de Microsoft (linked here) esto causado por una consulta que requiere más RAM asignada que está disponible.

En otras palabras, necesita más RAM, o necesita rediseñar la consulta para dividir el proceso en fragmentos más pequeños.

Éste es un resumen del artículo completo. El original contiene enlaces al contenido para explicar con más detalle el proceso por el cual debe seguir sus sugerencias.

cita en bloque: Artículo MS Knowledge Base 909678

Puede recibir el mensaje de error "System.OutOfMemoryException" cuando se utiliza SQL Server Reporting Services

Para resolver este problema, use uno de los siguientes métodos.

Método 1

Añadir suficiente memoria física al equipo.

Nota Si tiene más de 2 gigabytes (GB) de memoria, puede habilitar el modificador/3GB en el archivo Boot.ini para un mejor rendimiento. Para obtener más información acerca de cómo usar el modificador/3GB en SQL Server.

Método 2 informes

planificación para ejecutar en fuera de horas cuando las restricciones de memoria son más bajos.

Método 3

ajustar la configuración en consecuencia la MemoryLimit.

Nota: Cuando rinde un informe a través del servicio web de Reporting Services, el servicio web de Reporting Services obtiene la configuración de MemoryLimit del archivo Machine.config. Sin embargo, el servicio Report Server de Windows representa un informe programado. El servicio de Windows Report Server obtiene la configuración de MemoryLimit del archivo RSReportServer.config.

Método 4

actualizar a una versión de 64 bits de Microsoft SQL Server 2005 Reporting Services para que los Servicios de Información de utilizar más memoria.

Método 5

rediseñar el informe. Para hacer esto, use uno de los siguientes métodos.

Rediseña las consultas de informes. Puede reducir el consumo de memoria por rediseño de las consultas de informes en los siguientes maneras:

  • Retorno menos datos en las consultas de informes.
  • Utilice una mejor restricción en la cláusula WHERE de las consultas de informes.
  • Mueva las agregaciones complejas a la fuente de datos.

Método B

exportar el informe a un formato diferente. Puede reducir el consumo de memoria utilizando un formato diferente para mostrar el informe.

Método C

simplificar el diseño del informe.

Puede reducir el consumo de memoria mediante la simplificación del diseño de informes de las siguientes maneras:

  • incluir menos regiones de datos o controles en el informe.
  • Utilice un informe de exploración para mostrar los detalles.
+1

esto debería ser un comentario, no una respuesta – JonH

+0

Gracias @JonH. Soy nuevo en todo esto. :) – zenbike

+2

-1 Irrelevante. Están haciendo una consulta de inserción. nada que ver con los servicios de informes. –

-1

Ese es el problema con su archivo de registro.

Inste en usar inser into use select into instrucción.

Cuestiones relacionadas