I am getting this error in SQL Server log:

Failed to create appdomain "master.sys[runtime].2" Could not load file or assembly System.Data . Not enough storage is available to process this command

After this error, my web application is not working. Following are the server specs:

  • SQL Version : SQL 2012 (SP1) - 11.0.3128.0 Intel(x86) Standard Edition
  • RAM : 64 GB (Max Memory: 2147483647)
  • Hard Disk Memory Size Available : 600 GB
  • Effective memory in use by instance: (1) physical_memory_in_use_Gb : 2.94 (2)locked_page_allocations_Gb:0 3)virtual_address_space_committed_Gb: 2.98

I have searched on this. But not got any proper solution. Please help me.

  • Please update your question vith full @@version and memory configuration of your server – sepupic Oct 9 '19 at 6:47
  • I have updated my question. Thanks – Pravin Oct 9 '19 at 6:53
  • Your "SQL 2012 R2" is not a full version. I asked you for the result of select @@version. You can have limitations by Edition – sepupic Oct 9 '19 at 7:00
  • And under memory configuration I intend max server memory, i.e. the result of exec sp_configure 'max server memory' – sepupic Oct 9 '19 at 7:01
  • 1
    Please show us the result of select cast(physical_memory_in_use_kb / 1024. / 1024 as decimal(10,2)) physical_memory_in_use_Gb, cast(locked_page_allocations_kb / 1024. / 1024 as decimal(10,2)) locked_page_allocations_Gb, cast(virtual_address_space_committed_kb / 1024. / 1024 as decimal(10,2)) virtual_address_space_committed_Gb from sys.dm_os_process_memory – sepupic Oct 9 '19 at 7:21

I finally understand why your server uses only 3Gb of RAM, you have 32-bit version of SQL Server: SQL 2012 (SP1) - 11.0.3128.0 Intel(x86) and it just cannot use more than 4Gb.

You should use 64-bit version of the Server to resolve your problem.

In previous versions (until 2012) it seems -g parameter could be useful: SQL Server 2012 Memory

-g startup parameter

We used the -g startup option to change the default value of a region in SQL Server user address space known as "Memory-To-Reserve". This region was also known as "memory-to-leave or MTL. The "Memory-To-Reserve" (or) -g configuration option are relevant only for a 32-bit instance of SQL Server.

Multi pages allocation and CLR was part of Mem-to-reserve (-g) in In previous SQL Server versions until SQL Server 2008 R2 , From Denali they are part of BPOOL (Controlled by Max server memory) So you may have to remove –g if you have set it to give space for multipage allocator or CLR in earlier versions and migrating to Denali now.

But since you are on 2012 it seems the only way is to install SQL Server x64

|improve this answer|||||
  • Thanks you Sepupic. Tomorrow i will take downtime of server & install the 64 bit SQL and After that i will update you. Thanks – Pravin Oct 10 '19 at 6:49
  • Thank you so much Sepupic . It is working fine. – Pravin Oct 16 '19 at 6:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.