SQL Server Enterprise Edition 에서 CPU를 40 Core 이상 사용하지 못하는 현상
SQL Server Enterprise Edition 에서 CPU를 40 Core 이상 사용하지 못하는 현상
· Version : SQL Server
호스트의 서버의 CPU가96 Core인 장비에서 SQL Server 2016 Enterprise Edition을 설치 후 사용하는데 CPU 를 40Core 이상을 사용하지 못하는 문제가 있었다. 처음에는 NUMA의 불균형이 발생하지 않았는지 의심했었지만, 증상을 보면 0번 코어부터 39번 코어까지만 정확히 사용하는것을 확인할 수 있었다. 여러가지 원인을 조사 결과 해당 문제는 SQL Server의 라이선스 업데이트로 해결 되었다. MS의 라이선스 정책은 좀 많이 어려운 편인데 (서비스를 제공하는 형태에 따라 다양한 라이선스가 있음, 라이선스의 자세한 내용은 여기서 다루지 않는다.) 일반적인 SQL Server Enterprise 에디션을 설치 할경우 40Core 이상 사용할 수 없다고 한다. 40Core 이상 사용하려면 Core 라이선스를 선택해서 설치해야 한다.
이미 SQL Server Enterprise Edition이 설치되어 있는 경우는 어떻게 할까? 이런 경우 SQL Server 재설치는 필요없이 라이선스 업데이트가 가능하다. 우선 SQL Server Enterprise Core Edition을 다운로드 받아서, 호스트 서버에서 마운트 한다. 그리고 Install과정을 진행한다. 설치 과정중 나타나는 라이선스 코드를 복사하여, 아래 스크립트에서 PID 부분에 복사한 라이선스 코드를 입력하고 실행한다.
Setup.exe /q /ACTION=editionupgrade /INSTANCENAME=MSSQLSERVER /PID=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /IACCEPTSQLSERVERLICENSETERMS |
라이선스 없데이트 과정은 수분의 시간이 필요하며, 이 과정중에 SQL Server 서비스가 중지되므로 반드시 점검때 하도록 한다.
2019-09-03 / Sungwook Kang / http://sungwookkang.com
SQL Server Enterprise Edition, SQL Server Core lincese, SQL 라이선스, SQL Server 40코어 이상 사용하기, SQL Server CPU Core