SQL SERVER 의 메모리 설정

1
0

SHARED IT에 올라오는 SQL 서버에 관련된 내용은,

전산실 담당자의 이해를 돕기 위한 – SQL 서버에서 사용하는 과도한(?) 어려운 단어를 사용을 배제하고자

노력하고 있습니다.

어쨌든 아래에 동일한 이슈가 있어서, 함께 정리를 했지만

다시 정리를 해봅니다.

==============================================

SQL SERVER 의 메모리는 필요할 때 물리적인 메모리를 사용하고

윈도우나 다른 어플리케이션이 필요로 할 경우 반환을 하는 매우 일반적인 형태를 취하고 있습니다.

SQL 서버에서 메모리에 대한 값을 설정 하지 않은 기본 값인 경우라면,

최소메모리 0
최대메모리 2147483647

로 설정이 되어 있습니다.

이렇게 설정이 안되어 있거나 값이 높은 경우 문제가 발생할 소지가 있습니다.

SQL 서버가 메모리가 필요할 때 다른 곳에서 쓰는 경우가 발생한다던지

아니면, 그 반대로 OS에서 사용하는 메모리까지도 SQL 서버가 모두 사용(?) 하게 되서,

최악의 경우 서버로 접속이 안되거나, 기타 등등 여러가지 문제가 발생한다던지…

할 수 있지요

Buffer Cache 나 Plan Cache 등 여러가지 메모리 이야기가 있지만, 굳이 적지는 않겠습니다.

그럼 메모리 설정을 한번 해보도록 하겠습니다.

SSMS 를 이용한 메모리 설정 법을 우선 알아 보겠습니다.

  1. 해당 서버 -> 속성 선택

  1. 메모리 탭에서 숫자 값 선택

이걸 명령어로 진행하면,

혹시나 실행하실 분을 위해 텍스트로 정리하면,

EXEC SP_CONFIGURE ‘SHOW ADVANCED OPTIONS’, 1
RECONFIGURE WITH OVERRIDE
GO

EXEC SP_CONFIGURE
GO

EXEC SP_CONFIGURE ‘MIN SERVER MEMORY (MB)’, 설정숫자값
RECONFIGURE WITH OVERRIDE
GO

EXEC SP_CONFIGURE ‘MAX SERVER MEMORY (MB)’, 설정숫자값
RECONFIGURE WITH OVERRIDE
GO

EXEC SP_CONFIGURE ‘SHOW ADVANCED OPTIONS’, 0
RECONFIGURE WITH OVERRIDE
GO

EXEC SP_CONFIGURE
GO

로 진행이 가능 합니다.

설정을 하면, SQL 서버를 시작하지 않아도

메모리가 조금씩 사용량이 늘어나면서 적용이 됩니다.

그리고 결국,언젠가는 적용이 됩니다 ^^;

다만, 메모리 반환 및 기타 이슈가 있으므로

가장 확실하게 하는 방법은 적용 후 SQL 서버를 재시작 해주는 것입니다.

그러면 어느정도 설정을 할것인가?

이 경우 시스템의 특성 마다 틀립니다.

내가 사용하는 SQL 서버의 시스템이 DB 전용 서버이고 다른 별도의 동작을 하지 않는다..

라면 최대 80~85% 정도를 추천 드립니다.

최소치와 최대 치를 동일하게 설정을 합니다.

메모리를 반환하지 않겠다는 의미이죠

OS가 사용할 영역 + 예비영역을 제외한 영역을 제외한 모든 영역은 SQL 서버에서 사용하도록 설정을 하는 것입니다.

다른 어플리케이션이 있다면?

IIS, FTP 또는 각종 어플리케이션

이 경우는 정확히 어떠한 값이 있다고 이야기 드리긴 쉽지 않습니다.

성능 카운터 항목 중

MEMORY\AVailable Mbytes

SQL SERVER:MEMORY Manager\Total Server Memory (KB)

SQL SERVER:MEMORY Manager\Target Server Memory (KB)

SQL SERVER:MEMORY Manager\Memory Grant Pending

등의 항목을 통해서 모니터링 후 설정을 하는 것이 필요합니다.


0
0

매번 좋은 팁 감사합니다 ^^


총 1개 내용
의견 쓰기

쉐어드IT의 가입은 쉽고 간단합니다. 지금 하시고 IT관리자들과 의견을 함께 나누세요