Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

SQL Server не освобождава памет след изпълнение на заявката

SQL Server наистина е проектиран да изисква възможно най-много RAM, която няма да бъде освободена, освен ако тази памет не е изрично изисквана от операционната система. Мисля, че най-добрият подход е да се ограничи количеството RAM, което сървърът може да използва, което ще позволи на операционната система да има определено количество ресурси, които да използва без значение какво. За да зададете това Как да конфигурирате опции за памет с помощта на SQL Server Management Studio :

Можете също да го направите в T-SQL, като използвате следните команди (пример):

exec sp_configure 'max server memory', 1024
reconfigure

За ограничаване на потреблението до 1GB.

Забележка:горното няма да ограничи всички аспекти на SQL Server до това количество памет. Това контролира само буферния пул и кеша на плана за изпълнение. Неща като CLR, пълен текст, действителната памет, използвана от .exe файловете на SQL Server, SQL агент, разширени съхранени процедури и т.н. не се контролират от тази настройка. Обаче тези други неща обикновено не се нуждаят от толкова много памет, буферният пул и кешът на плана за изпълнение се нуждаят от по-голямата част от паметта.

Надявам се това да помогне.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. XML като параметър в съхранена процедура (sql сървър)

  2. Алтернатива на използването на локални променливи в клауза where

  3. Изберете първото копие на запис

  4. Връщане на съхранени процедури и функции в база данни на SQL Server:РУТИНИ (T-SQL примери)

  5. Повредени файлове Microsoft Office 2007 ASP.NET 1.1 и SQL Server