프로그래밍/DB

[DB] MSSQL 최대메모리 설정하기

ss-pro 2020. 10. 27. 22:39
반응형

SQL서버를 운영하다보면 메모리가 계속 증가하는것 경우가 있습니다. 물리적으로 제공하는 메모리를 SQL서버에서 너무 많이 사용하여 운영중인 서비스에 문제가 발생하는 경우가 있습니다. 이럴때 SQL최대메모리를 제한해두어 서비스에 문제가 되는 부분을 방지 할수 있습니다. 개체탐색기 -> 속성을 클릭합니다. 

 

메모리설정관련 기본값과 최소값은 다음과 같습니다. 

  기본값 최소값
최소 서버메모리  0 0
최대 서버 메모리 2,147,483,647MB 128MB

최대메모리를 8G로 설정해보겠습니다. 최대서버 메모리 부분에 8098MB로 입력후 확인버튼을 클릭하면 8G로 설정이 됩니다. 

 

스크립트 문으로 변경하는 방법에 대해 알아보겠습니다.  sp_configure 프로시저를 사용하여 변경이 가능합니다. max server memory항목에 대하여 8096으로 입력하면 해당사이즈 만큼 최대메모리가 설정된것을 확인할수 있습니다. 

1
2
3
4
5
6
7
8
sp_configure 'show advanced options'1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory'8096;
GO
RECONFIGURE;
GO

 

SQL문으로 현재 최대메모리의 설정을 확인 하는 부분입니다.  sys.configurations 테이블에서 확인이 가능합니다. value_in_use값이 현재사용되는 부분입니다. value는 설정부분이고 reconfigure을 실행해야 적용이 되니 참고하세요.

1
2
3
4
SELECT
    name,value,value_in_use 
FROM sys.configurations
WHERE name = 'max server memory (MB)';
cs



참고)
docs.microsoft.com/ko-kr/sql/database-engine/configure-windows/server-memory-server-configuration-options?view=sql-server-ver15