Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

SQL Server nie zwalnia pamięci po wykonaniu zapytania

SQL Server jest rzeczywiście zaprojektowany tak, aby żądać jak największej ilości pamięci RAM, która nie zostanie zwolniona, chyba że ta pamięć jest wyraźnie wymagana przez system operacyjny. Myślę, że najlepszym podejściem jest ograniczenie ilości pamięci RAM, z której może korzystać serwer, co pozwoli systemowi operacyjnemu mieć określoną ilość zasobów do wykorzystania bez względu na wszystko. Aby ustawić to Jak skonfigurować opcje pamięci za pomocą SQL Server Management Studio :

Możesz to również zrobić w T-SQL za pomocą następujących poleceń (przykład):

exec sp_configure 'max server memory', 1024
reconfigure

Aby ograniczyć zużycie do 1 GB.

Uwaga:powyższe nie ogranicza wszystkich aspektów SQL Server do tej ilości pamięci. Kontroluje to tylko pulę buforów i pamięć podręczną planu wykonania. Rzeczy takie jak CLR, pełny tekst, rzeczywista pamięć używana przez pliki .exe programu SQL Server, agent SQL, rozszerzone procedury składowane itp. nie są kontrolowane przez to ustawienie. Jednak te inne rzeczy zazwyczaj nie wymagają aż tak dużej ilości pamięci, to pula buforów i pamięć podręczna planu wykonania wymagają większości pamięci.

Mam nadzieję, że to pomoże.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zliczyć liczbę wystąpień określonego podciągu w zmiennej SQL?

  2. Czy powinienem ustawić maksymalny rozmiar puli w parametrach połączenia z bazą danych? Co się stanie, jeśli tego nie zrobię?

  3. Przechowywanie TimeSpan między dwoma DateTimes

  4. Przestawiaj wiele kolumn na podstawie jednej kolumny w SQL Server

  5. Procedury składowane SQL nie kończą się po wywołaniu z Pythona