MSSQL 메모리 반환 방법 DB

MS_SQL은 정말 좋은 DBMS로써

메모리를 한번 잡아드시면 반환을 하지 않으시는 훌륭한 시스템 로직을 갖고 계신듯하여

DB전문가께 여쭤보아 작업 스케줄을 통한(SQL Servera Agent)처리 방법을 알려주셨음.

대상은 SQL 2008R2이며 잘 먹힘.

메모리 용량 큰 시스템에선 전혀 사용할 이유가 없으나 필요 시 참조.

보통 MS_SQL에서 메모리를 겁나 잡아 드시고 서버를 재부팅 할 수 없는 경우

SQL MANAGEMENT STUDIO에 들어가  DB 우클릭 후 서버 속성 -> 메모리에 들어가서

메모리 설정을 수동으로 낮추어(너무 낮추면 멈추는 경우가 생기니 조심...) 확보 후 원래 설정으로 변경하였으나

이 귀찮음을 해결하기 위해

요렇게 스크립트를 스케줄로 돌려주면 알아서 낮춰짐.

물론 동일 스크립트로 숫자 부분만 변경해서 추가해 놓으면 원래 메모리 설정으로 복구 처리.


 스크립트는

sp_configure 'show advanced options', 1; 



RECONFIGURE; 



GO


-- Max Server Memory를 2GB로 조정합니다. SQL Server 서비스를 재시작 하지 않아도 동적으로 반영됩니다.



sp_configure 'max server memory', 2048; --2G로 변경



GO 



RECONFIGURE; 



GO

유용하게 쓰세요~