Sql-server – SQL Server 2012 running background task that fills memory

sql server

In my installation of SQL Server 2012 on my development machine (Win8.1), the process "SQL Server Windows NT – 64 Bit" is running continuously, using up disk resources and filling up my memory over time, even though I'm doing nothing. If I reboot the computer or restart the service called SQL Server (MSSQLSERVER), then the memory allocation is reset and immediately begins to accumulate again.

How can I identify the operation that SQL Server is running to cause this usage? I don't recall changing any operations or configuration.

The problem is not just that memory is filled, but also that it continually uses half my disk operation speed (the "Disk" column in Task Manager Processes is at 50-75%). There appears to be an ongoing operation that perhaps has a memory leak. In other words, I am doing no activity and sitting watching the Task Manager and the memory is going up steadily.

Best Answer

SQL Server does not use up memory without a workload running. I.E. an instance of SQL Server will consume the bare minimum it requires to keep the engine alive, listen for connections and handle background tasks (e.g. resource management). That's usually less than 100MB. If you have a min memory setting then it'll acquire that minimum IF there's demand because of workload and then sit there; won't release beyond the minimum even after the workload is done.

If your SQL Server process (sqlservr.exe in task manager or process monitor) is consuming lots of memory, something is going on. Check what's going on in the server using SELECT * FROM sys.dm_exec_sessions and look at the login_name column to see who's connected. That's a start to identify potential unknown workloads. From there, the other columns will provide information on how much resources it's using. It could be a real user, machine or even some old SQL Agent job gone wild.