Microsoft has a [KB article](http://support.microsoft.com/kb/969962) about this behavior. You got a 32-bit OS with 32-bit application, so the process' address space is 4 GiB. AWE can be used to access more memory, but it is limited only for buffer pool usage. As per [the documentation](http://technet.microsoft.com/en-us/library/ms175581(v=sql.90).aspx): > The SQL Server buffer pool can fully utilize AWE mapped memory; > however, only database pages can be dynamically mapped to and unmapped > from SQL Server's virtual address space and take full advantage of > memory allocated through AWE. AWE does not directly help supporting > additional users, threads, databases, queries, and other objects that > permanently reside in the virtual address space. Short-term solution: review that your CLR code minimizes memory usage. For a long-term solution, upgrade to 64-bit. **Addendum** Kimberly Tripp has written [a white paper](http://www.sqlskills.com/resources/whitepapers/sql%20server%20dba%20guide%20to%20sqlclr.htm) about CLR stuff from DBA point of view. She's got a few nice queries and Perfmon counters that are of use for tracking CLR resource use.