다음을 통해 공유


Linux에서 환경 변수를 사용하여 SQL Server 설정 구성

적용 대상: SQL Server - Linux

여러 환경 변수를 사용하여 Linux에서 SQL Server 2017(14.x)를 구성할 수 있습니다. 이 변수는 다음과 같은 두 가지 시나리오에서 사용됩니다.

여러 환경 변수를 사용하여 Linux에서 SQL Server 2019(15.x)를 구성할 수 있습니다. 이 변수는 다음과 같은 두 가지 시나리오에서 사용됩니다.

여러 환경 변수를 사용하여 Linux에서 SQL Server 2022(16.x)를 구성할 수 있습니다. 이 변수는 다음과 같은 두 가지 시나리오에서 사용됩니다.

이러한 설정 시나리오 후에 SQL Server를 구성해야 하는 경우 mssql-conf 도구를 사용하여 Linux에서 SQL Server 구성을 참조하세요.

환경 변수

환경 변수 설명
ACCEPT_EULA 최종 사용자 사용권 계약 수락을 확인하기 위해 ACCEPT_EULA 변수를 어떤 값에 설정합니다. SQL Server 이미지에 대한 필수 설정입니다.
MSSQL_SA_PASSWORD 암호를 구성합니다 sa .

SA_PASSWORD 환경 변수는 사용되지 않습니다. 대신 MSSQL_SA_PASSWORD를 사용하세요.
MSSQL_PID SQL Server 버전 또는 제품 키를 설정합니다. 가능한 값에는 다음이 있습니다.

Evaluation
Developer
Express
Web
Standard
Enterprise 1
EnterpriseCore 1
A product key

제품 키를 지정하는 경우 제품 키는 #####-#####-#####-#####-##### 형식이어야 합니다. 여기서 “#” 은 문자 또는 숫자입니다.
MSSQL_LCID SQL Server에 사용할 언어 ID를 설정합니다. 예를 들어 1036은 프랑스어입니다.
MSSQL_COLLATION SQL Server의 기본 데이터 정렬을 설정합니다. 이렇게 하면 데이터 정렬에 대한 언어 ID(LCID)의 기본 매핑이 재정의됩니다.
MSSQL_MEMORY_LIMIT_MB SQL Server에서 사용할 수 있는 최대 메모리 양(MB)을 설정합니다. 기본적으로 총 실제 메모리의 80%입니다.
MSSQL_TCP_PORT SQL Server가 수신 대기하는 TCP 포트를 구성합니다(기본값 1433).
MSSQL_IP_ADDRESS IP 주소를 설정합니다. 현재 IP 주소는 IPv4 스타일(0.0.0.0)이어야 합니다.
MSSQL_BACKUP_DIR 기본 백업 디렉터리 위치 설정합니다.
MSSQL_DATA_DIR 새 SQL Server 데이터베이스 데이터 파일(.mdf)이 만들어지는 디렉터리를 변경합니다.
MSSQL_LOG_DIR 새 SQL Server 데이터베이스 로그(.ldf) 파일이 만들어지는 디렉터리를 변경합니다.
MSSQL_DUMP_DIR SQL Server가 기본적으로 메모리 덤프 및 기타 문제 해결 파일을 저장하는 디렉터리를 변경합니다.
MSSQL_ENABLE_HADR 가용성 그룹을 사용하도록 설정합니다. 예를 들어, ‘1’은 사용하도록 설정되고 ‘0’은 사용하지 않도록 설정됩니다
MSSQL_AGENT_ENABLED SQL Server 에이전트를 사용하도록 설정합니다. 예를 들어, ‘true’은 사용하도록 설정되고 ‘false’은 사용하지 않도록 설정됩니다 기본적으로 에이전트는 사용되지 않습니다.
MSSQL_MASTER_DATA_FILE master 데이터베이스 데이터 파일의 위치를 설정합니다. SQL Server를 처음 실행할 때까지 이름은 master.mdf이이여야 합니다.
MSSQL_MASTER_LOG_FILE master 데이터베이스 로그 파일의 위치를 설정합니다. SQL Server를 처음 실행할 때까지 이름은 mastlog.ldf이이여야 합니다.
MSSQL_ERROR_LOG_FILE errorlog 파일의 위치를 설정합니다. 예들 들어 /var/opt/mssql/log/errorlog입니다.

1 레거시 Enterprise 라이선스는 Server + CAL(클라이언트 액세스 라이선스) 기반 라이선스가 포함된 Enterprise 에디션을 의미하며, SQL Server 인스턴스당 최대 20개의 코어로 제한됩니다. Enterprise는 새 계약에 사용할 수 없습니다. Enterprise 버전을 배포하려는 경우 EnterpriseCore를 선택해야 합니다. EnterpriseCore는 코어 제한 없이 코어 기반 서버 라이선스 모델을 나타냅니다. 자세한 내용은 SQL Server의 버전별 컴퓨팅 용량 제한을 참조하세요.

초기 설정과 함께 사용

이 예제에서는 환경 변수를 구성하여 mssql-conf setup를 실행합니다. 다음 환경 변수가 지정됩니다.

  • ACCEPT_EULA는 최종 사용자 라이선스 계약에 동의합니다.

  • MSSQL_PID는 비프로덕션 사용을 위해 SQL Server의 무료 라이선스 Developer Edition을 지정합니다.

  • MSSQL_SA_PASSWORD는 강력한 암호로 설정합니다. 암호는 SQL Server 기본 암호 정책을 따라야 합니다. 기본적으로 암호는 8자 이상이어야 하며 대문자, 소문자, 0~9까지의 숫자 및 기호 네 가지 집합 중 세 집합의 문자를 포함해야 합니다. 암호 길이는 128자까지 가능하며 되도록 길고 복잡한 암호를 사용합니다.

  • MSSQL_TCP_PORT는 SQL Server가 수신 대기하는 TCP 포트를 1234로 설정합니다.

sudo ACCEPT_EULA='Y' MSSQL_PID='Developer' MSSQL_SA_PASSWORD='<password>' MSSQL_TCP_PORT=1234 /opt/mssql/bin/mssql-conf setup

Docker와 함께 사용

이 예제의 docker 명령은 다음 환경 변수를 사용하여 새 SQL Server 컨테이너를 만듭니다.

  • ACCEPT_EULA는 최종 사용자 라이선스 계약에 동의합니다.

  • MSSQL_PID는 비프로덕션 사용을 위해 SQL Server의 무료 라이선스 Developer Edition을 지정합니다.

  • MSSQL_SA_PASSWORD는 강력한 암호로 설정합니다. 암호는 SQL Server 기본 암호 정책을 따라야 합니다. 기본적으로 암호는 8자 이상이어야 하며 대문자, 소문자, 0~9까지의 숫자 및 기호 네 가지 집합 중 세 집합의 문자를 포함해야 합니다. 암호 길이는 128자까지 가능하며 되도록 길고 복잡한 암호를 사용합니다.

  • MSSQL_TCP_PORT는 SQL Server가 수신 대기하는 TCP 포트를 1234로 설정합니다. 즉, 포트 1433(기본값)을 호스트 포트에 매핑하는 대신 사용자 지정 TCP 포트를 이 예제의 -p 1234:1234 명령과 매핑해야 합니다.

Linux에서 Docker를 실행하는 경우 작은따옴표와 함께 다음 구문을 사용합니다.

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<password>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

Windows에서 Docker를 실행하는 경우 큰따옴표와 함께 다음 구문을 사용합니다.

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<password>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

참고 항목

컨테이너에서 프로덕션 버전을 실행하는 프로세스는 약간 다릅니다. 자세한 내용은 프로덕션 컨테이너 이미지 실행을 참조하세요.

Linux에서 Docker를 실행하는 경우 작은따옴표와 함께 다음 구문을 사용합니다.

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<password>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

Windows에서 Docker를 실행하는 경우 큰따옴표와 함께 다음 구문을 사용합니다.

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<password>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

Linux에서 Docker를 실행하는 경우 작은따옴표와 함께 다음 구문을 사용합니다.

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<password>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

Windows에서 Docker를 실행하는 경우 큰따옴표와 함께 다음 구문을 사용합니다.

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<password>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

주의

암호는 SQL Server 기본 암호 정책을 따라야 합니다. 기본적으로 암호는 8자 이상이어야 하며 대문자, 소문자, 0~9까지의 숫자 및 기호 네 가지 집합 중 세 집합의 문자를 포함해야 합니다. 암호 길이는 128자까지 가능하며 되도록 길고 복잡한 암호를 사용합니다.

SQL 설명서 작성에 참여하세요.

SQL 콘텐츠를 직접 편집할 수 있다는 것을 알고 계셨나요? 직접 편집하여 설명서를 개선하고, 페이지에 기여자로 참여하세요.

자세한 내용은 SQL Server 설명서에 기여하는 방법을 참조하세요