I’m managing a co-located winserver08 box running both IIS and SQL 08 express. I just happened to glance at the task manager’s performance tab and find the ‘mem usage history graph is close to topped out reading 1.8 gig (i have 2 gig physical ram). Processes shows sqlserver is running at 940,000K – by far the largest consumer.
I’m a low volume site – cpu utilization barely registers. Haven’t had any stability issues with the server at all. Is this just how SQL treats available mem or should I be digging deeper?
thx
SQL Server manages it’s own memory pool. It will release memory back to the OS under memory pressure.
So, yes, this is normal behaviour and nothing to be concerned about.
Note: I should mention an exception to this: If TSQL scripts are using sp_OACreate to create COM objects and not releasing the object with a corresponding sp_OSDestroy (say, for instance an error occurs and the script terminates prematurely), then memory can leak. Use of these stored procedures is not that common (many DBAs won’t allow this feature to be turned on, for good reason) I believe this is also the case for CURSORS that are not deallocated.