How to prevent memory leaks in MSSQL Server 2008 R2 SP3?

In the company of the server 1C Enterprise used MSSQL Server 2008 R2 SP3. Bases quite a lot — from Document management, finishing Shots.

Both servers (1C Enterprise and MSSQL) are on the same physical server.

The problem is that in 1-2 full business days MSSQL server "eats" all allocated memory. A feeling, a memory leak occurs.

Here's what shows task Manager:


The server has 64Gb RAM. Windows Server 2008 R2 Enterprise.

The maximum amount of memory to MSSQL put in 38Gb:

The properties of the server cluster 1C:

Users of 1C: Enterprise is about 95. Among them there are many those who work via a terminal.

What to do? How to prevent the leak? Help with the Council. Thank you.
July 12th 19 at 22:00
3 answers
July 12th 19 at 22:02
The problem is that in 1-2 full business days MSSQL server "eats" all allocated memory.
Is this a problem? This is normal behavior for MSSQL.

But the fact that on a single server, database server, 1C server, and terminal server - Yes, that is the problem.
And how to be? After 1-2 days, users everything starts to hang. - Gideon_Bartoletti commented on July 12th 19 at 22:05
: Which users?
Those who connects to the server, or those who work on this server in the terminal? - Octavia_Bail commented on July 12th 19 at 22:08
: Everyone who works through the terminal and directly to the server 1S connected through client - Gideon_Bartoletti commented on July 12th 19 at 22:11
: Well here's the answer - move to another server, the terminal and the server 1C - Octavia_Bail commented on July 12th 19 at 22:14
July 12th 19 at 22:04
Confirm the words : to whom all that is, or to the limit specified in the settings, this is normal behavior for MS SQL Server (he previously this puzzled). So don't worry, it's not a bug, it's a feature.
UPD about freezes: again, one of the reasons (lack of resources among programmes) has already been called , but may be another. Play with the number of connections per process in the server properties 1C. We also, over time, suddenly appeared strange unresponsiveness and no one could work fine (and I too at first sinned on the SQL server). Helped reduce the number of connections. I do not remember exactly (we have 8.3, and there is automatic control of processes), but even with the number of the processes themselves to experiment, adding redundancy, etc. (information on this subject is full in Google).
July 12th 19 at 22:06
Totally agree with the previous speakers.
Eating all available memory - normal policy MS SQL. I, for example, all the memory's cramming for half an hour after starting SQL.
The terminal has no place on the database server.
In General, the database server is poorly aligned with other roles, because when more or less decent load, as you have noticed, SQL eats away all available memory, in addition to the picks are usually pretty high disk load that is not comme Il faut for other roles. And, if the other roles to begin to capture resources is very bad for SQL performance.
If SQL does not take all the memory, so no leaks.
I'm still working on transferring the terminal to another piece of metal, you can do a standard optimization database: create missing indexes, calculate, particularly braking sample and try to optimize them, configure maintenance tasks (defragmenting indexes, updating statistics, etc.), spread on different disks, the database file and log file.

Find more questions by tags 1C1C-EnterpriseSQL Server