Computer >> 컴퓨터 >  >> 시스템 >> Windows Server

MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

이 글에서는 Microsoft SQL Server 2019를 단계별로 설치하는 방법을 설명하고, 설치 과정에서 선택할 수 있는 모든 옵션과 구성 요소, 그리고 실무에서 권장되는 모범 사항까지 상세히 다룹니다.

MS SQL Server는 대표적인 관계형 데이터베이스 관리 시스템(RDBMS)으로, 기업용 시장에서 Oracle Database의 가장 강력한 경쟁자로 꼽힙니다.

목차

  • MS SQL Server 2019 에디션 종류
  • SQL Server 라이선싱 모델
  • SQL Server 설치 시작하기
  • SQL Server 2019 구성 요소 설치
  • SQL Server 인스턴스 이름 설정
  • SQL Server 서비스 계정 구성
  • 데이터베이스 엔진 옵션 구성

MS SQL Server 2019 에디션 종류

MSSQL 2019는 총 5가지 에디션으로 제공됩니다.

  • Express: 무료 에디션입니다. 기능이 제한적이며, 가장 중요한 제약은 데이터베이스 최대 크기가 10GB라는 점입니다. 학생 과제나 SQL/T-SQL 학습용 등 소규모 프로젝트에 적합합니다.
  • Standard: 완전한 기능을 갖춘 상용 에디션이지만 일부 제한이 있습니다. SQL Server가 사용할 수 있는 최대 RAM은 128GB이며, AlwaysOn 가용성 그룹 등 일부 구성 요소는 포함되지 않습니다. 소규모 조직에서 활용하기 좋습니다.
  • Enterprise: 모든 기능과 구성 요소를 제한 없이 포함합니다. 대기업이나 Enterprise 에디션에서만 제공하는 기능이 필요한 기업에서 주로 사용됩니다.
  • Developer: Enterprise와 마찬가지로 기능 제한이 없고 무료이지만, 애플리케이션 개발 및 테스트 용도로만 사용할 수 있습니다.
  • Web: Standard와 유사하지만 더 많은 제약이 있으며, 그만큼 라이선스 비용이 낮습니다.

SQL Server 라이선싱 모델

MS SQL Server는 두 가지 라이선싱 모델을 사용합니다.

  • PER CORE(코어당): 호스트(서버)의 물리 코어 수를 기준으로 라이선스를 부여하는 방식입니다.
  • SERVER + CAL(서버 + 사용자 CAL): 서버 한 대에 대한 라이선스와, 해당 서버를 사용하는 각 사용자 또는 디바이스에 대한 CAL(Client Access License)을 구매하는 방식입니다.

Enterprise 에디션은 PER CORE 모델로만 라이선스를 부여받을 수 있습니다.

또한 SQL Server 2019부터는 컨테이너, 가상 머신, 빅 데이터 클러스터(Big Data Clusters)에 대해서도 라이선스를 부여할 수 있습니다.

라이선싱에 대한 자세한 내용은 Microsoft 공식 문서의 SQL Server 라이선스 가이드를 참고하시기 바랍니다.

SQL Server 설치 시작하기

이 글에서는 Windows Server 2019 환경에 MS SQL Server 2019 Enterprise Edition을 설치하는 과정을 다룹니다.

참고: SQL Server 2019는 Linux를 완전히 지원하며, Docker와 Kubernetes에서도 실행할 수 있습니다.

  • SQL Server 2019 설치 이미지를 다운로드하여 마운트한 후 setup.exe를 실행합니다.
  • 이 글에서는 독립형(standalone) 인스턴스를 설치하므로, Installation 탭에서 New SQL Server stand-alone installation(새 SQL Server 독립 실행형 설치)을 선택합니다.

MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

설치 마법사에서는 새 설치 외에도 기존 인스턴스 업그레이드, 오류 복구 등 다양한 작업을 수행할 수 있습니다.

SQL Server 업데이트 설정

이 단계에서는 Windows Update를 통한 업데이트 검색을 활성화할지 여부를 지정할 수 있습니다. 서버에 대한 명확한 업데이트 계획이 없다면 이 옵션을 활성화하는 것이 좋습니다.

이 단계에서 다음과 같은 오류가 발생할 수 있습니다.

Error 0x80244022: Exception from HRESULT: 0x80244022

MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

이 오류는 Windows Update 문제와 관련이 있으며, WSUS 구성이나 네트워크 연결 상태를 점검하면 해결할 수 있습니다.

문제가 없으면 '다음'을 클릭해 진행합니다.

Install Setup Files(설치 파일 설치) 단계는 자동으로 진행되며, 설치에 필요한 SQL Server 파일을 준비합니다.

Install Rules(설치 규칙) 단계 역시 MSSQL 설치 전 해결해야 할 문제(예: 컴퓨터 재시작 요청, Windows 버전과 SQL Server 버전의 비호환 등)가 발견되지 않으면 자동으로 통과됩니다.

SQL Server 설치 유형 선택

이 단계에서는 새 SQL Server 인스턴스를 설치할지, 아니면 기존 설치된 인스턴스에 기능을 추가할지 선택합니다. 여기서는 'Perform a new installation of SQL Server 2019'(SQL Server 2019 새로 설치)를 체크합니다.
MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

다음으로 SQL 제품 키를 입력합니다. 제품 키가 없다면 무료 에디션(예: Developer)을 선택하면 되지만, Developer 에디션은 개발·테스트 용도로만 사용 가능하며 운영 환경에는 사용할 수 없다는 점을 유의해야 합니다.
MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

License Terms(사용 조건) 단계에서는 라이선스 계약에 동의합니다.

SQL Server 2019 구성 요소 설치

이 단계에서는 다양한 SQL Server 구성 요소를 선택하게 됩니다. 각 구성 요소가 어떤 역할을 하는지 살펴보겠습니다.

  • Database Engine Services: SQL Server의 핵심 엔진입니다. 반드시 설치해야 합니다.
  • SQL Server Replication: 복제 서비스입니다. 실무에서 자주 사용되므로 필요 여부가 확실하지 않다면 설치해 두는 것이 좋습니다.
  • Machine Learning Services and Language Extensions: SQL Server 컨텍스트에서 R/Python/Java 코드를 실행하는 서비스입니다. 머신러닝을 활용할 계획이라면 필요합니다.
  • Full-Text and Semantic Extractions for Search: 전체 텍스트 검색이나 문서(.docx 등)에 대한 의미론적 검색이 필요할 때 사용합니다. 의미 검색을 사용하려면 FILESTREAM도 함께 필요합니다.
  • Data Quality Services: 데이터를 정정하거나 유효성을 검증하는 서비스(DQS)입니다. 필요 여부가 불확실하다면 설치하지 않는 것이 좋습니다.
  • PolyBase Query Service For External Data: 다른 SQL Server나 Oracle Database 등 외부 데이터에 접근할 수 있게 해줍니다. HDFS 데이터 소스용 Java 커넥터도 PolyBase 기술에 속하며, HDFS를 사용하려면 함께 설치하세요.
  • Analysis Services: SSAS라고도 하며, 대기업의 BI(비즈니스 인텔리전스) 보고 및 OLAP 분석에 활용되는 기술입니다.

다음은 전체 서버에 적용되는 공유 기능(Shared Features) 목록입니다.

  1. Machine Learning Server (Standalone): Machine Learning Services와 동일하지만 SQL Server 엔진 없이 독립적으로 설치할 수 있습니다.
  2. Data Quality Client: DQS의 독립 실행형 클라이언트 버전입니다.
  3. Client Tools Connectivity: ODBC, OLE DB 등의 라이브러리를 포함합니다. 설치가 권장됩니다.
  4. Integration Services: 데이터 통합 서비스(SSIS)로, ETL(Extract, Transform, Load) 작업에 사용됩니다. 데이터를 자동으로 가져오면서 변환까지 처리하려면 필요합니다. Scale Out Master/Worker는 SSIS 운영을 확장할 때 사용하며, 필요 여부가 불확실하면 선택하지 않아도 됩니다.
  5. Client Tools Backwards Compatibility: 레거시 DMV 및 시스템 프로시저입니다. 설치가 권장됩니다.
  6. Client Tools SDK: 개발자용 도구 키트입니다. 필요가 확실하지 않다면 설치하지 않는 것이 좋습니다.
  7. Distributed Replay Controller/Client: SQL Server Profiler 기능을 보완·확장하며, 성능 테스트를 위한 부하 시뮬레이션에 사용됩니다.
  8. SQL Client Connectivity SDK: 개발자를 위한 ODBC/OLE DB SDK입니다.
  9. Master Data Services: Microsoft Power BI 계열 구성 요소로, 데이터 분석·검증·통합·정정에 사용됩니다.

HDFS용 Java 커넥터 같은 일부 기능은 이전 버전(SQL Server 2016 이하)에서는 제공되지 않을 수 있습니다.

같은 단계에서 SQL Server 파일이 저장될 디렉터리도 지정할 수 있습니다. 특별한 이유가 없다면 기본값(C:\Program Files\Microsoft SQL Server\)을 그대로 두는 것이 좋습니다.

MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

필요한 기능을 모두 선택하면 설치 마법사가 시스템과의 호환성을 검사하고, 문제가 없으면 해당 단계가 자동으로 완료됩니다.

SQL Server 인스턴스 이름 설정

Default Instance(기본 인스턴스) 옵션을 그대로 사용할 수 있으며, 이 경우 인스턴스 이름은 MSSQLSERVER가 됩니다. Named Instance(명명된 인스턴스)를 선택하면 원하는 이름을 직접 지정할 수 있습니다. 여기서는 인스턴스 이름을 DEV로 지정했습니다. 혼동을 피하려면 Instance ID도 이름과 동일하게 입력하는 것이 좋습니다.

설치된 인스턴스 목록에서는 해당 서버에 이미 설치된 MSSQL 인스턴스들을 확인할 수 있습니다.
MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

SQL Server 서비스 계정 구성

Service Accounts 탭에서는 SQL Server 서비스가 호스트에서 실행될 때 사용할 계정을 지정합니다. 가장 안전한 방식은 MSA(Managed Service Account) 또는 gMSA(Group Managed Service Account)를 사용하는 것이며, 이것이 모범 사례로 권장됩니다. 여기서는 일반 도메인 사용자 계정을 사용했습니다.

SQL Server AgentStartup Type(시작 유형)은 반드시 Automatic(자동)으로 설정하세요. 그렇지 않으면 에이전트를 매번 수동으로 시작해야 합니다.

또한 SQL Server 2016부터는 설치 과정에서 IFI(Instant File Initialization, 즉시 파일 초기화)를 활성화할 수 있습니다. 설치 마법사에서는 'Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine'이라는 이름으로 표시됩니다. 이 옵션을 활성화하면 다음 경우에 기존 데이터가 0으로 덮어쓰이지 않습니다.

  • 데이터베이스 생성
  • 데이터 또는 로그 파일에 데이터 추가
  • 기존 파일 크기 확장(자동 증가 포함)
  • 데이터베이스 또는 파일 그룹 복원

파일 초기화 속도가 크게 향상되지만, 기존 데이터가 0으로 지워지지 않으므로 파일에 남아 있는 이전 정보가 일부 노출될 수 있다는 보안상 단점이 있습니다.

데이터 유출 위험이 낮은 환경이라면 이 옵션을 활성화하는 것을 권장합니다.

MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

다음 단계에서는 Collation(데이터 정렬)을 선택해야 합니다.

Collation은 SQL Server의 인코딩 방식으로, 페이지 인코딩, 정렬 규칙, char/varchar 인코딩 등 언어 관련 설정을 결정합니다.

서버 설치 시 전체 SQL Server에 적용될 Collation을 선택하며, 설치 후에도 변경은 가능하지만 작업이 상당히 번거로우므로 처음부터 적합한 값을 선택하는 것이 좋습니다.

영어 데이터만 다룬다면 SQL_Latin1_General_CP1_CI_AS를 선택하면 됩니다.

운영 환경에서 사용할 예정이라면 문서의 Collation 섹션을 반드시 확인하세요. 데이터베이스별로 개별 설정이 가능하긴 하지만 매우 중요한 설정입니다.

MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

데이터베이스 엔진 옵션 구성

Database Engine Configuration(데이터베이스 엔진 구성) 단계에서는 6개의 탭을 순서대로 살펴보겠습니다.

Server Configuration: 인증 모드 및 관리자 계정

Server Configuration 탭에서는 인증 모드(Authentication Mode)를 선택하고 SQL Server 관리자 계정을 지정합니다.

두 가지 모드 중 하나를 선택할 수 있습니다.

  • Windows 인증 모드: 도메인 또는 Windows 컴퓨터의 사용자만 인증할 수 있습니다.
  • 혼합 모드(Mixed mode): Windows 인증에 더해 SQL Server 계정으로도 인증할 수 있습니다.

Microsoft는 가장 안전한 방법으로 Windows 인증을 권장하지만, 실무에서는 Java로 작성된 애플리케이션처럼 Windows 인증을 지원하지 않는 앱에서 서버에 접속해야 하는 경우가 많습니다. 이런 경우에는 SQL Server 인증을 사용해야 합니다.

사용자가 Windows 컴퓨터나 Windows 인증을 지원하는 애플리케이션에서만 접속한다고 확신한다면 Windows 인증 모드를 선택하세요.

여기서는 혼합 모드를 선택했습니다. 이 모드에서는 sa 사용자의 비밀번호를 지정하고, 관리자 권한을 가질 Windows 계정을 추가해야 합니다.

MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

Data Directories: 데이터 디렉터리 지정

Data Directories 탭에서는 SQL Server가 데이터베이스 파일과 트랜잭션 로그를 저장할 디렉터리를 지정합니다.

데이터는 별도의 RAID 드라이브에 저장하는 것이 좋습니다. 디스크 서브시스템은 SQL Server 성능에 결정적인 영향을 미치므로, NAS나 고속 디스크로 구성한 로컬 RAID 등 사용 가능한 최상의 스토리지를 사용하세요.

시스템 데이터베이스, 사용자 데이터베이스 로그, 백업 등 각 디렉터리를 서로 다른 스토리지에 분산 배치하는 것이 좋은 관행으로 꼽힙니다. 이렇게 하면 스토리지 수준에서 최대 성능을 얻을 수 있습니다.

여기서는 모든 폴더에 대해 별도의 RAID 1 드라이브를 지정했습니다.

MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

TempDB 구성

TempDB 탭에서는 tempdb 설정을 구성할 수 있습니다. tempdb는 거의 모든 데이터 작업에 관여하므로 올바른 구성이 서버 성능에 매우 중요합니다.

  • Number of files(파일 수): tempdb의 데이터 파일 개수입니다. CPU 코어 수에 따라 지정해야 하며, 좋은 관행은 CPU 코어 수를 2로 나눈 값입니다. 예를 들어 32코어 서버라면 16개 파일이 권장됩니다. 코어 수와 관계없이 8개 미만으로 설정하는 것은 권장되지 않습니다. 관련 문제는 Microsoft KB 2154845 문서를 참고하세요.
  • Initial size(초기 크기): tempdb 데이터 파일의 초기 크기입니다. 서버를 재시작할 때마다 tempdb 크기는 초기 크기로 재설정됩니다. 예상 부하에 맞춰 지정하는 것이 좋으며, 산정이 어렵다면 8MB로 두세요. tempdb 전용 어레이/드라이브를 할당했다면 파일이 디스크 전체를 차지하도록 크기를 지정해 잦은 파일 증가를 방지하는 것이 좋습니다.
  • Autogrowth(자동 증가): tempdb 파일의 증분 증가 단위입니다. 초기 크기에 맞춰 설정해야 하며, 산정이 어렵다면 64MB로 두세요. IFI가 활성화되어 있으면 파일 증가 대기 시간이 크게 줄어듭니다. 증분 값을 너무 크게 설정하면 파일 크기 확장 시 상당한 지연이 발생할 수 있으므로 주의하세요.
  • Data Directories(데이터 디렉터리): tempdb 파일이 위치할 디렉터리입니다. 여러 디렉터리를 지정하면 라운드 로빈(Round-robin) 방식으로 순환 배치됩니다. 예를 들어 4개 디렉터리를 지정하면 데이터 파일이 모든 디렉터리에 균등하게 분산됩니다. 데이터 파일마다 서로 다른 디스크 어레이를 사용하는 것이 모범 사례입니다.
  • TempDb Log file: Initial size/Autogrowth: tempdb 로그 파일의 초기 크기와 증분 증가 단위를 설정합니다. 데이터 파일과 동일한 규칙이 적용됩니다.
  • Log Directory(로그 디렉터리): tempdb 로그 파일이 저장되는 디렉터리입니다. 데이터 파일 수와 무관하게 로그 파일은 1개뿐이며 디렉터리도 1개만 지정합니다. 가능하다면 로그 파일에도 별도의 어레이를 할당하세요.

MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

MaxDOP 설정

MaxDOP는 SQL Server에서 병렬 쿼리 실행과 병렬 처리 수준(parallelism degree)을 담당하는 설정입니다. SQL Server가 병렬 플랜 처리 시 모든 CPU 코어를 활용하게 하려면 MaxDOP 값을 0으로 설정합니다. 어떤 이유로든 병렬 쿼리를 비활성화하려면 1로 설정합니다. 최대 성능을 얻으려면 아래 표의 규칙에 따라 MaxDOP를 구성하는 것이 좋습니다.

서버 구성프로세서 수권장 값
단일 NUMA 노드 서버논리 프로세서 8개 이하논리 프로세서 수 이하로 MAXDOP 설정
단일 NUMA 노드 서버논리 프로세서 8개 초과MAXDOP를 8로 설정
다중 NUMA 노드 서버NUMA 노드당 논리 프로세서 16개 이하NUMA 노드당 논리 프로세서 수 이하로 MAXDOP 설정
다중 NUMA 노드 서버NUMA 노드당 논리 프로세서 16개 초과NUMA 노드당 논리 프로세서 수의 절반으로 설정(최대 16)

여기서는 0으로 설정했습니다. 병렬 쿼리 실행 시 최대 성능을 얻을 수 있지만, 모든 코어가 현재 쿼리 실행에 점유되므로 다른 프로세스가 대기해야 하는 지연이 발생할 수도 있습니다.

높은 워크로드를 처리하는 서버라면 위 표의 규칙을 따르는 것을 권장하며, 자세한 내용은 Microsoft 공식 문서를 참고하세요.

Memory: 메모리 설정

Memory 탭에서는 SQL Server가 사용할 최소/최대 RAM 크기를 지정합니다. 적절한 메모리 크기를 산정하기란 쉽지 않으므로, 일반적으로 서버 전체 RAM의 80~85%를 SQL Server에 할당하는 것이 권장됩니다. 실제 사용량을 파악하려면 DMV(Dynamic Management View) 등을 활용해 24시간 동안 RAM 사용률을 모니터링해야 하며, 이 데이터가 있어야 정확한 산정이 가능합니다.

여기서는 기본값(최소 0, 최대 2147483647MB)을 그대로 사용했습니다.

MS SQL Server 2019 설치 가이드: 단계별 기본 설정과 권장 사항 총정리

FILESTREAM 설정

FILESTREAM 탭에서는 FILESTREAM 기능을 활성화할 수 있습니다. FILESTREAM은 바이너리 파일을 파일 시스템에 저장하고 SQL을 통해 접근할 수 있게 해주는 기능입니다. SQL 수준에서 바이너리 데이터를 다룰 계획이 없다면 FILESTREAM을 비활성화 상태로 두는 것이 좋습니다.

Feature Configuration Rules 단계는 자동으로 진행됩니다. Ready to Install 섹션의 정보를 확인한 후 Install을 클릭하면 설치가 시작됩니다.

이것으로 SQL Server 2019 Enterprise의 기본 설치가 완료되었습니다. 다음 글에서는 SQL Server의 성능 분석 및 문제 진단 방법을 살펴보겠습니다.

참고: 이전 버전(SQL Server 2014, 2016)에서는 일부 탭이나 설정이 존재하지 않을 수 있습니다.