SQL Server has failed to allocate sufficient memory to run the query. This can be caused by a variety of reasons including operating system settings, physical memory availability, or memory limits on the current workload. In most cases, the transaction that failed is not the cause of this error.
Diagnostic queries, such as DBCC statements, may fail because server the does not have sufficient memory.
The following list outlines general steps that will help in troubleshooting memory errors:
Verify whether other applications or services are consuming memory on this server. Reconfigure less critical applications or services to consume less memory.
Start collecting performance monitor counters for SQL Server: Buffer Manager, SQL Server: Memory Manager.
Check the following SQL Server memory configuration parameters:
max server memory
min server memory
min memory per query
Notice unusual settings. Correct them as necessary. Account for increased memory requirements for SQL Server 2008. Default settings are listed in "Setting Server Configuration Options" in SQL Server Books Online.
If you are using Address Windowing Extensions (AWE), verify that the Windows security setting Lock pages in memory' is enabled.
Observe DBCC MEMORYSTATUS output and the way it changes when you see these error messages.
Check the workload (for example, number of concurrent sessions, currently executing queries).
The following actions may make more memory available to SQL Server:
If applications besides SQL Server are consuming resources, try stopping running these applications or consider running them on a separate server. This will remove external memory pressure.
If you have configured max server memory, increase its setting.
Run the following DBCC commands to free several SQL Server memory caches.
If the problem continues, you will need to investigate further and possibly reduce workload.