다음을 통해 공유


mssql-conf 도구를 사용하여 SQL Server on Linux 구성

적용 대상: SQL Server - Linux

mssql-conf는 Red Hat Enterprise Linux, SUSE Linux Enterprise Server 및 Ubuntu용 SQL Server 2017(14.x)과 함께 설치되는 구성 스크립트입니다. 구성 값이 저장되는 mssql.conf 파일을 수정합니다. mssql-conf 유틸리티를 사용하여 다음 매개 변수를 설정할 수 있습니다.

매개 변수 설명
에이전트 SQL Server 에이전트를 사용하도록 설정합니다.
Windows로 인증 Windows Server Active Directory 인증에 대한 설정입니다.
데이터 정렬 SQL Server on Linux에 대한 새 데이터 정렬을 설정합니다.
고객 의견 SQL Server에서 사용자 의견을 Microsoft에 보낼지 여부를 선택합니다.
데이터베이스 메일 프로필 SQL Server on Linux의 기본 데이터베이스 메일 프로필을 설정합니다.
기본 데이터 디렉터리 새 SQL Server 데이터베이스 데이터 파일(.mdf)의 기본 디렉터리를 변경합니다.
기본 로그 디렉터리 새 SQL Server 데이터베이스 로그(.ldf) 파일의 기본 디렉터리를 변경합니다.
기본 master 데이터베이스 디렉터리 master 데이터베이스 및 로그 파일의 기본 디렉터리를 변경합니다.
기본 master 데이터베이스 파일 이름 master 데이터베이스 파일의 이름을 변경합니다.
기본 덤프 디렉터리 새 메모리 덤프 및 기타 문제 해결 파일의 기본 디렉터리를 변경합니다.
기본 오류 로그 디렉터리 새 SQL Server 오류 로그, 기본 프로파일러 추적, 시스템 상태 세션 XE 및 Hekaton 세션 XE 파일의 기본 디렉터리를 변경합니다.
기본 백업 디렉터리 새 백업 파일의 기본 디렉터리를 변경합니다.
덤프 형식 수집할 덤프 메모리 덤프 파일의 형식을 선택합니다.
버전(Edition) SQL Server 버전을 설정합니다.
고가용성 가용성 그룹을 사용하도록 설정합니다.
로컬 감사 디렉터리 로컬 감사 파일을 추가할 디렉터리를 설정합니다.
로캘 사용할 SQL Server의 로캘을 설정합니다.
메모리 제한 SQL Server의 메모리 제한을 설정합니다.
네트워크 설정 SQL Server에 대한 추가 네트워크 설정입니다.
Microsoft Distributed Transaction Coordinator Linux에서 MSDTC를 구성하고 문제를 해결합니다.
TCP 포트 SQL Server가 연결을 수신 대기하는 포트를 변경합니다.
TLS 전송 수준 보안을 구성합니다.
추적 플래그 서비스에서 사용할 추적 플래그를 설정합니다.

mssql-conf는 Red Hat Enterprise Linux, SUSE Linux Enterprise Server 및 Ubuntu용 SQL Server 2019 (15.x)와 함께 설치되는 구성 스크립트입니다. 이 유틸리티를 사용하여 다음 매개 변수를 설정할 수 있습니다.

매개 변수 설명
에이전트 SQL Server 에이전트 사용
Windows로 인증 Windows Server Active Directory 인증에 대한 설정입니다.
데이터 정렬 SQL Server on Linux에 대한 새 데이터 정렬을 설정합니다.
고객 의견 SQL Server에서 사용자 의견을 Microsoft에 보낼지 여부를 선택합니다.
데이터베이스 메일 프로필 SQL Server on Linux의 기본 데이터베이스 메일 프로필을 설정합니다.
기본 데이터 디렉터리 새 SQL Server 데이터베이스 데이터 파일(.mdf)의 기본 디렉터리를 변경합니다.
기본 로그 디렉터리 새 SQL Server 데이터베이스 로그(.ldf) 파일의 기본 디렉터리를 변경합니다.
기본 master 데이터베이스 파일 디렉터리 기존 SQL 설치에서 master 데이터베이스 파일의 기본 디렉터리를 변경합니다.
기본 master 데이터베이스 파일 이름 master 데이터베이스 파일의 이름을 변경합니다.
기본 덤프 디렉터리 새 메모리 덤프 및 기타 문제 해결 파일의 기본 디렉터리를 변경합니다.
기본 오류 로그 디렉터리 새 SQL Server 오류 로그, 기본 프로파일러 추적, 시스템 상태 세션 XE 및 Hekaton 세션 XE 파일의 기본 디렉터리를 변경합니다.
기본 백업 디렉터리 새 백업 파일의 기본 디렉터리를 변경합니다.
덤프 형식 수집할 덤프 메모리 덤프 파일의 형식을 선택합니다.
버전(Edition) SQL Server 버전을 설정합니다.
고가용성 가용성 그룹을 사용하도록 설정합니다.
로컬 감사 디렉터리 로컬 감사 파일을 추가할 디렉터리를 설정합니다.
로캘 사용할 SQL Server의 로캘을 설정합니다.
메모리 제한 SQL Server의 메모리 제한을 설정합니다.
Microsoft Distributed Transaction Coordinator Linux에서 MSDTC를 구성하고 문제를 해결합니다.
Machine Learning Services EULA mlservices 패키지에 대한 R 및 Python EULA에 동의합니다. SQL Server 2019(15.x)에만 적용됩니다.
네트워크 설정 SQL Server에 대한 추가 네트워크 설정입니다.
outboundnetworkaccess Machine Learning Services R, Python 및 Java 확장의 아웃바운드 네트워크 액세스를 사용하도록 설정합니다.
TCP 포트 SQL Server가 연결을 수신 대기하는 포트를 변경합니다.
TLS 전송 수준 보안을 구성합니다.
추적 플래그 서비스에서 사용할 추적 플래그를 설정합니다.

mssql-conf는 Red Hat Enterprise Linux 및 Ubuntu용 SQL Server 2022(16.x)와 함께 설치되는 구성 스크립트입니다. 이 유틸리티를 사용하여 다음 매개 변수를 설정할 수 있습니다.

매개 변수 설명
에이전트 SQL Server 에이전트 사용
Microsoft Entra ID로 인증 Microsoft Entra ID(이전의 Azure Active Directory)를 사용한 인증 설정입니다.
Windows로 인증 Windows Server Active Directory 인증에 대한 설정입니다.
데이터 정렬 SQL Server on Linux에 대한 새 데이터 정렬을 설정합니다.
고객 의견 SQL Server에서 사용자 의견을 Microsoft에 보낼지 여부를 선택합니다.
데이터베이스 메일 프로필 SQL Server on Linux의 기본 데이터베이스 메일 프로필을 설정합니다.
기본 데이터 디렉터리 새 SQL Server 데이터베이스 데이터 파일(.mdf)의 기본 디렉터리를 변경합니다.
기본 로그 디렉터리 새 SQL Server 데이터베이스 로그(.ldf) 파일의 기본 디렉터리를 변경합니다.
기본 master 데이터베이스 파일 디렉터리 기존 SQL 설치에서 master 데이터베이스 파일의 기본 디렉터리를 변경합니다.
기본 master 데이터베이스 파일 이름 master 데이터베이스 파일의 이름을 변경합니다.
기본 덤프 디렉터리 새 메모리 덤프 및 기타 문제 해결 파일의 기본 디렉터리를 변경합니다.
기본 오류 로그 디렉터리 새 SQL Server 오류 로그, 기본 프로파일러 추적, 시스템 상태 세션 XE 및 Hekaton 세션 XE 파일의 기본 디렉터리를 변경합니다.
기본 백업 디렉터리 새 백업 파일의 기본 디렉터리를 변경합니다.
덤프 형식 수집할 덤프 메모리 덤프 파일의 형식을 선택합니다.
버전(Edition) SQL Server 버전을 설정합니다.
고가용성 가용성 그룹을 사용하도록 설정합니다.
로컬 감사 디렉터리 로컬 감사 파일을 추가할 디렉터리를 설정합니다.
로캘 사용할 SQL Server의 로캘을 설정합니다.
메모리 제한 SQL Server의 메모리 제한을 설정합니다.
Microsoft Distributed Transaction Coordinator Linux에서 MSDTC를 구성하고 문제를 해결합니다.
Machine Learning Services EULA mlservices 패키지에 대한 R 및 Python EULA에 동의합니다. SQL Server 2019(15.x)에만 적용됩니다.
네트워크 설정 SQL Server에 대한 추가 네트워크 설정입니다.
아웃바운드 네트워크 액세스 Machine Learning Services R, Python 및 Java 확장의 아웃바운드 네트워크 액세스를 사용하도록 설정합니다.
SQL Server 커넥터 SQL Server 커넥터에 대한 로깅 수준을 구성합니다.
TCP 포트 SQL Server가 연결을 수신 대기하는 포트를 변경합니다.
TLS 전송 수준 보안을 구성합니다.
추적 플래그 서비스에서 사용할 추적 플래그를 설정합니다.

이 설정 중 일부는 환경 변수를 사용하여 구성할 수도 있습니다. 자세한 내용은 Linux에서 환경 변수를 사용하여 SQL Server 설정 구성을 참조하세요.

사용 팁

  • Always On 가용성 그룹 및 공유 디스크 클러스터의 경우 항상 각 노드에서 동일하게 구성을 변경합니다.

  • 공유 디스크 클러스터 시나리오의 경우 변경 내용을 적용하려면 mssql-server 서비스를 다시 시작하지 마세요. SQL Server가 애플리케이션으로 실행되고 있습니다. 대신, 리소스를 오프라인으로 전환한 후 다시 온라인으로 전환합니다.

  • 이 예제에서는 전체 경로: /opt/mssql/bin/mssql-conf를 지정하여 mssql-conf를 실행합니다. 해당 경로로 이동하려면 현재 디렉터리 의 컨텍스트에서 mssql-conf./mssql-conf를 실행합니다.

  • 컨테이너 내의 mssql.conf 파일을 수정하려면 원하는 설정으로 실행 중인 컨테이너가 있는 호스트에 mssql.conf 파일을 만든 다음, 컨테이너를 다시 배포합니다. 예를 들어 mssql.conf 파일에 다음을 추가하면 SQL Server 에이전트가 활성화됩니다.

    [sqlagent]
    enabled = true
    

    다음 명령을 사용하여 컨테이너를 배포할 수 있습니다.

    docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=<password>" \
    -p 5433:1433 --name sql1 \
    -v /container/sql1:/var/opt/mssql \
    -d mcr.microsoft.com/mssql/server:2019-latest
    

    주의

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

    자세한 내용은 SQL Server 컨테이너에서 사용할 구성 파일 만들기를 참조하세요.

SQL Server 에이전트 사용

sqlagent.enabled 설정은 SQL Server 에이전트를 사용하도록 설정합니다. 기본적으로 SQL Server 에이전트는 사용하지 않도록 설정됩니다. 설정 파일에 없는 mssql.conf 경우 sqlagent.enabled SQL Server는 내부적으로 SQL Server 에이전트 사용하지 않도록 설정된다고 가정합니다.

이 설정을 변경하려면 다음 단계를 사용합니다.

  1. SQL Server 에이전트를 사용하도록 설정합니다.

    sudo /opt/mssql/bin/mssql-conf set sqlagent.enabled true
    
  2. SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    

SQL Server on Linux의 기본 데이터베이스 메일 프로필 설정

sqlagent.databasemailprofile을 사용하여 메일 경고의 기본 DB 메일 프로필을 설정할 수 있습니다.

sudo /opt/mssql/bin/mssql-conf set sqlagent.databasemailprofile <profile_name>

SQL 에이전트 오류 로그

sqlagent.errorlogfilesqlagent.errorlogginglevel 설정을 사용하면 각각 SQL 에이전트 로그 파일 경로 및 로깅 수준을 설정할 수 있습니다.

sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogfile <path>

SQL 에이전트 로깅 수준은 다음과 같은 비트 마스크 값입니다.

  • 1 = 오류
  • 2 = 경고
  • 4 = 정보

모든 수준을 캡처하려면 값으로 7을 사용합니다.

sudo /opt/mssql/bin/mssql-conf set sqlagent.errorlogginglevel <level>

Microsoft Entra 인증 구성

SQL Server 2022(16.x)부터 SQL Server에 대한 Microsoft Entra ID를 구성할 수 있습니다. Microsoft Entra ID를 구성하려면 SQL Server를 설치한 후 SQL Server Azure 확장을 설치해야 합니다. Microsoft Entra ID를 구성하는 방법에 대한 자세한 내용은 자습서: SQL Server Microsoft Entra 인증 설정을 참조하세요.

기본 Microsoft Entra ID 인증서 경로 변경

기본적으로 Microsoft Entra 인증서 파일은 /var/opt/mssql/aadsecrets/에 저장됩니다. 인증서 저장소 또는 암호화된 드라이브를 사용하는 경우 이 경로를 변경할 수 있습니다. 경로를 변경하기 위해 다음 명령을 사용할 수 있습니다.

sudo /opt/mssql/bin/mssql-conf set network.aadcertificatefilepath /path/to/new/location.pfx

이전 예제에서 /path/to/new/location.pfx는 인증서 이름을 포함하여 선호하는 경로입니다.

Microsoft Entra 인증을 위해 SQL Server용 Azure 확장에서 다운로드한 인증서가 해당 위치에 저장됩니다. /var/opt/mssql/secrets로 변경할 수 없습니다.

참고 항목

기본 Microsoft Entra ID 인증서 경로는 SQL Server 설치한 후 언제든지 변경할 수 있지만 Microsoft Entra ID를 사용하도록 설정하기 전에 변경해야 합니다.

Microsoft Entra ID 구성 옵션

다음 옵션은 Linux에서 실행되는 SQL Server 인스턴스에 대한 Microsoft Entra 인증에 사용됩니다.

Warning

Microsoft Entra ID 매개 변수는 SQL Server용 Azure 확장에 의해 구성되며 수동으로 다시 구성해서는 안 됩니다. 정보 제공을 위해 여기에 나열됩니다.

옵션 설명
network.aadauthenticationendpoint Microsoft Entra 인증의 엔드포인트
network.aadcertificatefilepath Microsoft Entra ID 인증을 위한 인증서 파일 경로
network.aadclientcertblacklist Microsoft Entra ID 클라이언트 인증서 차단 목록
network.aadclientid Microsoft Entra 클라이언트 GUID
network.aadfederationmetadataendpoint Microsoft Entra 페더레이션 메타데이터의 엔드포인트
network.aadgraphapiendpoint Azure AD Graph API 엔드포인트
network.aadgraphendpoint Azure AD Graph 엔드포인트
network.aadissuerurl Microsoft Entra 발급자 URL
network.aadmsgraphendpoint Microsoft Entra MS Graph 엔드포인트
network.aadonbehalfofauthority Microsoft Entra ID 권한 대신
network.aadprimarytenant Microsoft Entra 기본 테넌트 GUID
network.aadsendx5c Microsoft Entra ID Send X5C
network.aadserveradminname sysadmin이 될 Microsoft Entra 계정의 이름
network.aadserveradminsid sysadmin이 될 Microsoft Entra 계정의 SID
network.aadserveradmintype sysadmin이 될 Microsoft Entra 계정의 유형
network.aadserviceprincipalname Microsoft Entra 서비스 사용자 이름
network.aadserviceprincipalnamenoslash Microsoft Entra 서비스 사용자 이름(슬래시 없음)
network.aadstsurl Microsoft Entra STS URL

Windows Active Directory 인증 구성

setup-ad-keytab 옵션은 keytab을 만드는 데 사용할 수 있지만 이 옵션을 사용하려면 미리 사용자와 SPN(서비스 사용자 이름)을 만들어야 합니다. Active Directory 유틸리티, adutil을 사용하여 사용자, SPN 및 keytab을 만들 수 있습니다.

setup-ad-keytab을 사용하는 옵션의 경우 다음 명령을 실행합니다.

sudo /opt/mssql/bin/mssql-conf setup-ad-keytab --help

validate-ad-config 옵션은 Active Directory 인증에 대한 구성의 유효성을 검사합니다.

SQL Server 데이터 정렬 변경

set-collation 옵션은 데이터 정렬 값을 지원되는 데이터 정렬로 변경합니다. 이 변경을 수행하려면 SQL Server 서비스를 중지해야 합니다.

  1. 먼저 서버에서 모든 사용자 데이터베이스를 백업합니다.

  2. 그런 다음, sp_detach_db 저장 프로시저를 사용하여 사용자 데이터베이스를 분리합니다.

  3. set-collation 옵션을 실행하고 다음 프롬프트를 따릅니다.

    sudo /opt/mssql/bin/mssql-conf set-collation
    
  4. mssql-conf 유틸리티는 지정된 데이터 정렬 값으로 변경하고 서비스를 다시 시작하려고 시도합니다. 오류가 있는 경우 데이터 정렬을 이전 값으로 롤백합니다.

  5. 사용자 데이터베이스 백업을 복원합니다.

지원되는 데이터 정렬 목록을 보려면 sys.fn_helpcollations 함수를 다음과 같이 실행합니다. SELECT Name from sys.fn_helpcollations().

고객 의견 구성

telemetry.customerfeedback 설정은 SQL Server에서 사용자 의견을 Microsoft에 보낼지 여부를 변경합니다. 기본적으로 이 값은 모든 버전에 대해 true로 설정됩니다. 값을 변경하려면 다음 명령을 실행합니다.

중요

SQL Server, Express 및 Developer의 체험 버전에 대한 고객 의견은 끌 수 없습니다.

  1. telemetry.customerfeedback에 대해 set 명령을 사용하여 mssql-conf 스크립트를 루트 권한으로 실행합니다. 다음 예제에서는 false를 지정하여 고객 의견을 끕니다.

    sudo /opt/mssql/bin/mssql-conf set telemetry.customerfeedback false
    
  2. SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    

자세한 내용은 SQL Server on Linux 및 SQL Server 개인 정보 취급 방침 보완에 대한 사용량 및 진단 데이터 수집 구성을 참조하세요.

기본 데이터 또는 로그 디렉터리 위치 변경

filelocation.defaultdatadirfilelocation.defaultlogdir 설정은 새 데이터베이스 및 로그 파일이 생성되는 위치를 변경합니다. 기본적으로 이 위치는 /var/opt/mssql/data입니다. 이 설정을 변경하려면 다음 단계를 사용합니다.

  1. 새 데이터베이스 데이터 및 로그 파일의 대상 디렉터리를 만듭니다. 다음 예제에서는 새 /tmp/data 디렉터리를 만듭니다.

    sudo mkdir /tmp/data
    
  2. 디렉터리의 소유자 및 그룹을 mssql 사용자로 변경합니다.

    sudo chown mssql /tmp/data
    sudo chgrp mssql /tmp/data
    
  3. mssql-conf를 사용하여 set 명령으로 기본 데이터 디렉터리를 변경합니다.

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdatadir /tmp/data
    
  4. SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    
  5. 이제 만들어진 새 데이터베이스의 모든 데이터베이스 파일이 새 위치에 저장됩니다. 새 데이터베이스의 로그(.ldf) 파일 위치를 변경하려는 경우 다음 set 명령을 사용할 수 있습니다.

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultlogdir /tmp/log
    
  6. 또한 이 명령은 /tmp/log 디렉터리가 존재하고 사용자 및 그룹 mssql이 사용하고 있다고 간주합니다.

기본 master 데이터베이스 파일 디렉터리 위치 변경

filelocation.masterdatafilefilelocation.masterlogfile 설정은 SQL Server 데이터베이스 엔진이 master 데이터베이스 파일을 검색하는 위치를 변경합니다. 기본적으로 이 위치는 /var/opt/mssql/data입니다.

이 설정을 변경하려면 다음 단계를 사용합니다.

  1. 새 오류 로그 파일의 대상 디렉터리를 만듭니다. 다음 예제에서는 새 /tmp/masterdatabasedir 디렉터리를 만듭니다.

    sudo mkdir /tmp/masterdatabasedir
    
  2. 디렉터리의 소유자 및 그룹을 mssql 사용자로 변경합니다.

    sudo chown mssql /tmp/masterdatabasedir
    sudo chgrp mssql /tmp/masterdatabasedir
    
  3. mssql-conf를 사용하여 set 명령으로 마스터 데이터 및 로그 파일의 기본 master 데이터베이스 디렉터리를 변경합니다.

    sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /tmp/masterdatabasedir/master.mdf
    sudo /opt/mssql/bin/mssql-conf set filelocation.masterlogfile /tmp/masterdatabasedir/mastlog.ldf
    

    참고

    마스터 데이터와 로그 파일을 이동할 뿐 아니라 다른 모든 시스템 데이터베이스의 기본 위치도 이동합니다.

  4. SQL Server 서비스를 중지합니다.

    sudo systemctl stop mssql-server
    
  5. master.mdfmastlog.ldf 파일을 이동합니다.

    sudo mv /var/opt/mssql/data/master.mdf /tmp/masterdatabasedir/master.mdf
    sudo mv /var/opt/mssql/data/mastlog.ldf /tmp/masterdatabasedir/mastlog.ldf
    
  6. SQL Server 서비스를 시작합니다.

    sudo systemctl start mssql-server
    

    참고 항목

    SQL Server가 지정된 디렉터리에서 master.mdfmastlog.ldf 파일을 찾을 수 없으면 시스템 데이터베이스의 템플릿 기반 복사본이 지정된 디렉터리에 자동으로 생성되고 SQL Server가 시작됩니다. 그러나 사용자 데이터베이스, 서버 로그인, 서버 인증서, 암호화 키, SQL 에이전트 작업 또는 이전 sa 암호와 같은 메타데이터는 새 master 데이터베이스에서 업데이트되지 않습니다. SQL Server를 중지하고, 이전 master.mdfmastlog.ldf를 지정된 새 위치로 이동하고, SQL Server를 시작하여 기존 메타데이터를 계속 사용해야 합니다.

master 데이터베이스 파일 이름 변경

filelocation.masterdatafilefilelocation.masterlogfile 설정은 SQL Server 데이터베이스 엔진이 master 데이터베이스 파일을 검색하는 위치를 변경합니다. 또한 master 데이터베이스 및 로그 파일의 이름을 변경하는 데 이 설정을 사용할 수 있습니다.

이 설정을 변경하려면 다음 단계를 사용합니다.

  1. SQL Server 서비스를 중지합니다.

    sudo systemctl stop mssql-server
    
  2. mssql-conf를 사용하여 set 명령으로 master 데이터 및 로그 파일의 예상 master 데이터베이스 이름을 변경합니다.

    sudo /opt/mssql/bin/mssql-conf set filelocation.masterdatafile /var/opt/mssql/data/masternew.mdf
    sudo /opt/mssql/bin/mssql-conf set filelocation.mastlogfile /var/opt/mssql/data/mastlognew.ldf
    

    중요

    SQL Server가 시작된 후 master 데이터베이스 및 로그 파일의 이름만 변경할 수 있습니다. 처음 실행하기 전에 SQL Server는 파일 이름이 master.mdfmastlog.ldf일 것으로 예상합니다.

  3. master 데이터베이스 및 로그 파일의 이름을 변경합니다.

    sudo mv /var/opt/mssql/data/master.mdf /var/opt/mssql/data/masternew.mdf
    sudo mv /var/opt/mssql/data/mastlog.ldf /var/opt/mssql/data/mastlognew.ldf
    
  4. SQL Server 서비스를 시작합니다.

    sudo systemctl start mssql-server
    

기본 덤프 디렉터리 위치 변경

filelocation.defaultdumpdir 설정은 크래시가 발생할 때마다 메모리 및 SQL 덤프가 생성되는 기본 위치를 변경합니다. 기본적으로 이러한 파일은 /var/opt/mssql/log에서 생성됩니다.

이 새 위치를 설정하려면 다음 명령을 사용합니다.

  1. 새 덤프 파일의 대상 디렉터리를 만듭니다. 다음 예제에서는 새 /tmp/dump 디렉터리를 만듭니다.

    sudo mkdir /tmp/dump
    
  2. 디렉터리의 소유자 및 그룹을 mssql 사용자로 변경합니다.

    sudo chown mssql /tmp/dump
    sudo chgrp mssql /tmp/dump
    
  3. mssql-conf를 사용하여 set 명령으로 기본 데이터 디렉터리를 변경합니다.

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultdumpdir /tmp/dump
    
  4. SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    

기본 오류 로그 파일 디렉터리 위치 변경

filelocation.errorlogfile 설정은 새 오류 로그, 기본 프로파일러 추적, 시스템 상태 세션 XE 및 Hekaton 세션 XE 파일이 생성되는 위치를 변경합니다. 기본적으로 이 위치는 /var/opt/mssql/log입니다. SQL Server 오류 로그 파일이 설정된 디렉터리는 다른 로그의 기본 로그 디렉터리가 됩니다.

이 설정을 변경하려면:

  1. 새 오류 로그 파일의 대상 디렉터리를 만듭니다. 다음 예제에서는 새 /tmp/logs 디렉터리를 만듭니다.

    sudo mkdir /tmp/logs
    
  2. 디렉터리의 소유자 및 그룹을 mssql 사용자로 변경합니다.

    sudo chown mssql /tmp/logs
    sudo chgrp mssql /tmp/logs
    
  3. mssql-conf를 사용하여 set 명령으로 기본 오류 로그 파일 이름을 변경합니다.

    sudo /opt/mssql/bin/mssql-conf set filelocation.errorlogfile /tmp/logs/errorlog
    
  4. SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    

errorlog.numerrorlogs 설정을 사용하면 로그를 순환하기 전에 유지 관리되는 오류 로그 수를 지정할 수 있습니다.

기본 백업 디렉터리 위치 변경

filelocation.defaultbackupdir 설정은 백업 파일이 생성되는 기본 위치를 변경합니다. 기본적으로 이러한 파일은 /var/opt/mssql/data에서 생성됩니다.

이 새 위치를 설정하려면 다음 명령을 사용합니다.

  1. 새 백업 파일의 대상 디렉터리를 만듭니다. 다음 예제에서는 새 /tmp/backup 디렉터리를 만듭니다.

    sudo mkdir /tmp/backup
    
  2. 디렉터리의 소유자 및 그룹을 mssql 사용자로 변경합니다.

    sudo chown mssql /tmp/backup
    sudo chgrp mssql /tmp/backup
    
  3. mssql-conf를 사용하여 set 명령으로 기본 백업 디렉터리를 변경합니다.

    sudo /opt/mssql/bin/mssql-conf set filelocation.defaultbackupdir /tmp/backup
    
  4. SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    

코어 덤프 설정 지정

SQL Server 프로세스 중 하나에서 예외 또는 크래시가 발생하면 SQL Server는 메모리 덤프를 만듭니다. 메모리 덤프를 캡처하는 데 시간이 오래 걸리고 상당한 공간을 차지할 수 있습니다. 리소스를 절약하고 반복되는 메모리 덤프를 방지하기 위해 자동 덤프 캡처인 coredump.disablecoredump 옵션을 사용하지 않도록 설정할 수 있습니다.

sudo /opt/mssql/bin/mssql-conf set coredump.disablecoredump <true or false>

자동 코어 덤프를 사용하지 않도록 설정(coredump.disablecoredumptrue로 설정)해도 사용자는 수동으로 메모리 덤프를 생성할 수 있습니다.

SQL Server가 수집하는 메모리 덤프 유형을 제어하는 두 가지 옵션인 coredump.coredumptypecoredump.captureminiandfull이 있습니다. 이 옵션은 코어 덤프 캡처의 두 단계와 관련이 있습니다.

첫 번째 단계 캡처는 예외 발생 시 생성된 덤프 파일의 형식을 결정하는 coredump.coredumptype 설정을 통해 제어됩니다. coredump.captureminiandfull 설정을 사용하여 두 번째 단계를 사용하도록 설정합니다. coredump.captureminiandfull가 true로 설정하면 coredump.coredumptype을 통해 지정된 덤프 파일이 생성되고 두 번째 미니 덤프도 생성됩니다. coredump.captureminiandfull을 false로 설정하면 두 번째 캡처 시도가 사용하지 않도록 설정됩니다.

  1. coredump.captureminiandfull 설정을 사용하여 미니 및 전체 덤프를 둘 다 캡처할지 여부를 결정합니다.

    sudo /opt/mssql/bin/mssql-conf set coredump.captureminiandfull <true or false>
    

    기본값: false

  2. coredump.coredumptype 설정을 사용하여 덤프 파일 형식을 지정합니다.

    sudo /opt/mssql/bin/mssql-conf set coredump.coredumptype <dump_type>
    

    기본값: miniplus

    다음 테이블에서는 가능한 coredump.coredumptype 값을 나열합니다.

    형식 설명
    mini Mini는 가장 작은 덤프 파일 형식입니다. Linux 시스템 정보를 사용하여 프로세스의 스레드 및 모듈을 결정합니다. 덤프에는 호스트 환경 스레드 스택 및 모듈만 포함됩니다. 간접 메모리 참조 또는 전역은 포함되지 않습니다.
    miniplus MiniPlus는 mini와 비슷하지만 추가 메모리를 포함합니다. 다음 메모리 영역을 덤프에 추가하여 SQLPAL 및 호스트 환경의 내부를 이해합니다.

    - 다양한 전역
    - 64TB를 초과하는 모든 메모리
    - /proc/$pid/maps에 있는 모든 명명된 영역
    - 스레드 및 스택의 간접 메모리
    - 연결된 TEB(스레드 환경 블록) 및 PEB(프로세스 환경 블록)를 포함한 스레드 정보
    - 모듈 정보
    - VMM 및 VAD 트리
    filtered Filtered는 별도로 제외하는 경우가 아니면 프로세스의 모든 메모리가 포함되는 빼기 기반 디자인을 사용합니다. 이 디자인은 덤프에서 특정 영역을 제외하고 SQLPAL 및 호스트 환경의 내부를 이해합니다.
    full Full은 /proc/$pid/maps에 있는 모든 영역을 포함하는 전체 프로세스 덤프입니다. coredump.captureminiandfull 설정을 통해 제어되지 않습니다.

버전

set-edition 옵션을 사용하여 SQL Server 버전을 변경할 수 있습니다. SQL Server 버전을 변경하려면 먼저 SQL Server 서비스를 중지해야 합니다. 사용 가능한 SQL Server on Linux 버전에 대한 자세한 내용은 SQL Server 버전을 참조하세요.

고가용성

hadr.hadrenabled 옵션은 SQL Server 인스턴스에서 가용성 그룹을 사용하도록 설정합니다. 다음 명령은 hadr.hadrenabled를 1로 설정하여 가용성 그룹을 사용하도록 설정합니다. 설정을 적용하려면 SQL Server를 다시 시작해야 합니다.

sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled  1
sudo systemctl restart mssql-server

가용성 그룹에서 이 설정을 사용하는 방법에 대한 자세한 내용은 다음 두 항목을 참조하세요.

로컬 감사 디렉터리 설정

telemetry.userrequestedlocalauditdirectory 설정은 로컬 감사를 사용하도록 설정하며 이를 통해 로컬 감사 로그가 생성되는 디렉터리를 설정할 수 있습니다.

  1. 새 로컬 감사 로그의 대상 디렉터리를 만듭니다. 다음 예제에서는 새 /tmp/audit 디렉터리를 만듭니다.

    sudo mkdir /tmp/audit
    
  2. 디렉터리의 소유자 및 그룹을 mssql 사용자로 변경합니다.

    sudo chown mssql /tmp/audit
    sudo chgrp mssql /tmp/audit
    
  3. telemetry.userrequestedlocalauditdirectory에 대해 set 명령을 사용하여 mssql-conf 스크립트를 루트 권한으로 실행합니다.

    sudo /opt/mssql/bin/mssql-conf set telemetry.userrequestedlocalauditdirectory /tmp/audit
    
  4. SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    

자세한 내용은 SQL Server on Linux에 대한 사용량 및 진단 데이터 수집 구성을 참조하세요.

SQL Server 로캘 변경

language.lcid 설정은 SQL Server 로캘을 지원되는 언어 식별자(LCID)로 변경합니다.

  1. 다음 예제에서는 로캘을 프랑스어(1036)로 변경합니다.

    sudo /opt/mssql/bin/mssql-conf set language.lcid 1036
    
  2. 변경 내용을 적용하려면 SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    

메모리 제한 설정

memory.memorylimitmb 설정은 SQL Server에 사용 가능한 실제 메모리의 양(MB)을 제어합니다. OOM(메모리 부족) 조건을 방지하기 위해 기본값은 실제 메모리의 80%입니다.

중요

memory.memorylimitmb 설정은 SQL Server 프로세스에서 사용할 수 있는 실제 메모리의 양을 제한합니다. 최대 서버 메모리(MB) 설정을 사용하여 SQL Server 버퍼 풀에 사용할 수 있는 메모리 양을 조정할 수 있지만 SQL Server에 사용할 수 있는 실제 메모리 양을 초과할 수는 없습니다. 최대 서버 메모리(MB) 서버 구성 옵션에 대한 자세한 내용은 서버 메모리 구성 옵션을 참조하세요.

  1. memory.memorylimitmb에 대해 set 명령을 사용하여 mssql-conf 스크립트를 루트 권한으로 실행합니다. 다음 예제에서는 SQL Server에 사용할 수 있는 메모리를 3.25GB(3,328MB)로 변경합니다.

    sudo /opt/mssql/bin/mssql-conf set memory.memorylimitmb 3328
    
  2. 변경 내용을 적용하려면 SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    

추가 메모리 설정

다음 옵션은 메모리 설정에 사용할 수 있습니다.

옵션 설명
memory.disablememorypressure SQL Server는 메모리 압력을 사용하지 않도록 설정합니다. 값은 false 또는 true(기본값)일 수 있습니다. 메모리 압력을 사용하지 않도록 설정하면 SQL Server에서 실제 메모리 사용량을 memory.memorylimitmb제한하는 데 사용하는 신호가 억제되어 결국 사용량이 해당 제한을 초과하게 됩니다.
memory.memory_optimized SQL Server 메모리 최적화 기능인 영구 메모리 파일 향상 기능, 메모리 보호를 사용하거나 사용하지 않도록 설정합니다. 값은 true 또는 false일 수 있습니다.
memory.enablecontainersharedmemory SQL Server 컨테이너에만 적용됩니다. 이 설정을 사용하여 SQL Server 컨테이너 내에서 공유 메모리를 사용하도록 설정합니다. 자세한 내용은 컨테이너에서 VDI 백업 및 복원 사용을 참조하세요. 값은 false 또는 true(기본값)일 수 있습니다.

MSDTC 구성

network.rpcportdistributedtransaction.servertcpport 설정은 MSDTC(Microsoft Distributed Transaction Coordinator)를 구성하는 데 사용됩니다. 이 설정을 변경하려면 다음 명령을 실행합니다.

  1. network.rpcport에 대해 set 명령을 사용하여 mssql-conf 스크립트를 루트 권한으로 실행합니다.

    sudo /opt/mssql/bin/mssql-conf set network.rpcport <rcp_port>
    
  2. 그런 다음, distributedtransaction.servertcpport 설정을 지정합니다.

    sudo /opt/mssql/bin/mssql-conf set distributedtransaction.servertcpport <servertcpport_port>
    

이 값을 설정하는 것 외에도 라우팅을 구성하고 포트 135에 대한 방화벽을 업데이트해야 합니다. 수행하는 방법에 대한 자세한 내용은 Linux에서 MSDTC(Microsoft Distributed Transaction Coordinator)를 구성하는 방법을 참조하세요.

MSDTC를 모니터링하고 문제 해결하는 데 사용할 수 있는 mssql-conf에 대한 여러 가지 다른 설정이 있습니다. 다음 표에서는 이 설정에 대해 간략하게 설명합니다. 해당 사용에 대한 자세한 내용은 Windows 지원 문서 Windows 10 컴퓨터에서 MS DTC에 대한 진단 추적 사용의 세부 정보를 참조하세요.

옵션 설명
distributedtransaction.allowonlysecurerpccalls 분산 트랜잭션에 대한 보안 전용 RPC 호출 구성
distributedtransaction.fallbacktounsecurerpcifnecessary 분산 트랜잭션에 대한 보안 전용 RPC 호출을 구성
distributedtransaction.maxlogsize DTC 트랜잭션 로그 파일 크기(MB). 기본값은 64MB입니다.
distributedtransaction.memorybuffersize 추적이 저장되는 순환 버퍼 크기. 이 크기는 MB단위이며 기본값은 10MB임
distributedtransaction.servertcpport MSDTC rpc 서버 포트
distributedtransaction.trace_cm 연결 관리자의 추적
distributedtransaction.trace_contact 연락처 풀 및 연락처 추적
distributedtransaction.trace_gateway 게이트웨이 원본 추적
distributedtransaction.trace_log 로그 추적
distributedtransaction.trace_misc 다른 범주로 분류할 수 없는 추적.
distributedtransaction.trace_proxy MSDTC 프록시에서 생성된 추적
distributedtransaction.trace_svc 서비스 및 .exe 파일 시작 추적
distributedtransaction.trace_trace 추적 인프라 자체
distributedtransaction.trace_util 여러 위치에서 호출되는 유틸리티 루틴 추적
distributedtransaction.trace_xa XATM(XA 트랜잭션 관리자) 추적 원본
distributedtransaction.tracefilepath 추적 파일을 저장해야 하는 폴더
distributedtransaction.turnoffrpcsecurity 분산 트랜잭션에 대한 RPC 보안 사용 또는 사용 안 함

Machine Learning Services EULA 수락

데이터베이스 엔진에 기계 학습 R 또는 Python 패키지를 추가하려면 R 및 Python의 오픈 소스 배포에 대한 사용 조건에 동의해야 합니다. 다음 표에서는 mlservices EULA에 관련된 사용 가능한 모든 명령 또는 옵션을 열거합니다. 동일한 EULA 매개 변수는 설치된 항목에 따라 R 및 Python에 사용됩니다.

# For all packages: database engine and mlservices
# Setup prompts for mlservices EULAs, which you need to accept
sudo /opt/mssql/bin/mssql-conf setup

# Add R or Python to an existing installation
sudo /opt/mssql/bin/mssql-conf setup accept-eula-ml

# Alternative valid syntax
# Adds the EULA section to the INI and sets acceptulam to yes
sudo /opt/mssql/bin/mssql-conf set EULA accepteulaml Y

# Rescind EULA acceptance and removes the setting
sudo /opt/mssql/bin/mssql-conf unset EULA accepteulaml

mssql.conf 파일에 직접 EULA 동의를 추가할 수도 있습니다.

[EULA]
accepteula = Y
accepteulaml = Y

아웃바운드 네트워크 액세스 사용

SQL Server Machine Learning Services 기능에서 R, Python 및 Java 확장에 대한 아웃바운드 네트워크 액세스는 기본적으로 사용하지 않도록 설정됩니다. 아웃바운드 요청을 사용하도록 설정하려면 mssql-confoutboundnetworkaccess 사용하여 부울 속성을 설정합니다.

속성을 설정한 후 SQL Server 실행 패드 서비스를 다시 시작하여 INI 파일에서 업데이트된 값을 읽습니다. 다시 시작 메시지가 확장성 관련 설정이 수정될 때마다 사용자에게 알려줍니다.

# Adds the extensibility section and property.
# Sets "outboundnetworkaccess" to true.
# This setting is required if you want to access data or operations off the server.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1

# Turns off network access but preserves the setting
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 0

# Removes the setting and rescinds network access
sudo /opt/mssql/bin/mssql-conf unset extensibility.outboundnetworkaccess

mssql.conf 파일에 직접 outboundnetworkaccess를 추가할 수도 있습니다.

[extensibility]
outboundnetworkaccess = 1

Azure Key Vault에 대한 SQL Server 커넥터의 로깅 수준 변경

SQL Server 2022(16.x) CU 14 이상 버전에서 SQL Server on Linux는 Azure Key Vault를 사용하여 TDE 확장 가능 키 관리를 지원합니다. 로깅 수준을 다음 값 중 하나로 설정할 수 있습니다.

수준 설명
0(기본값) 정보
1 Error
2 로그 없음

SQL Server 커넥터에 대한 로깅 수준을 변경하려면 다음 예제를 사용합니다.

sudo /opt/mssql/bin/mssql-conf set sqlconnector.logginglevel 1

자세한 내용은 SQL 암호화 기능을 통해 SQL Server 커넥터 사용을 참조하세요.

TCP 포트 변경

network.tcpport 설정은 SQL Server가 연결을 수신 대기하는 TCP 포트를 변경합니다. 기본적으로 이 포트는 1433으로 설정됩니다. 포트를 변경하려면 다음 명령을 실행합니다.

  1. network.tcpport에 대해 set 명령을 사용하여 mssql-conf 스크립트를 루트 권한으로 실행합니다.

    sudo /opt/mssql/bin/mssql-conf set network.tcpport <new_tcp_port>
    
  2. SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    
  3. 이제 SQL Server에 연결할 때 호스트 이름 또는 IP 주소 뒤에 쉼표(,)를 사용하여 사용자 지정 포트를 지정해야 합니다. 예를 들어 sqlcmd와 연결하려면 다음 명령을 사용합니다.

    sqlcmd -S localhost,<new_tcp_port> -U test -P test
    

TLS 설정 지정

다음 옵션은 Linux에서 실행되는 SQL Server 인스턴스에 대해 TLS를 구성합니다.

옵션 설명
network.forceencryption 1인 경우 SQL Server는 모든 연결을 강제로 암호화합니다. 기본적으로 이 옵션은 0입니다.
network.tlscert SQL Server가 TLS에 사용하는 인증서 파일의 절대 경로입니다. 예제: /etc/ssl/certs/mssql.pem 인증서 파일은 mssql 계정으로 액세스할 수 있어야 합니다. chown mssql:mssql <file>; chmod 400 <file>을 사용하여 파일에 대한 액세스를 제한하는 것이 좋습니다.
network.tlskey SQL Server가 TLS에 사용하는 프라이빗 키 파일의 절대 경로입니다. 예제: /etc/ssl/private/mssql.key 인증서 파일은 mssql 계정으로 액세스할 수 있어야 합니다. chown mssql:mssql <file>; chmod 400 <file>을 사용하여 파일에 대한 액세스를 제한하는 것이 좋습니다.
network.tlsprotocols SQL Server에서 허용하는 TLS 프로토콜의 쉼표로 구분된 목록입니다. SQL Server는 항상 가장 강력한 허용 프로토콜을 협상하려고 시도합니다. 클라이언트에서 허용되는 프로토콜을 지원하지 않으면 SQL Server는 연결 시도를 거부합니다. 호환성을 위해 지원되는 모든 프로토콜이 기본적으로 허용됩니다(1.2, 1.1, 1.0). 클라이언트에서 TLS 1.2을 지원하는 경우 TLS 1.2만 허용하는 것이 좋습니다.
network.tlsciphers SQL Server에서 TLS에 대해 허용하는 암호화를 지정합니다. 이 문자열은 OpenSSL의 암호화 목록 형식에 따라 형식을 지정해야 합니다. 일반적으로 이 옵션을 변경할 필요가 없습니다.
기본적으로 다음 암호화가 허용됩니다.
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
network.kerberoskeytabfile Kerberos keytab 파일의 경로입니다.

TLS 설정 사용에 대한 예제는 SQL Server on Linux에 대한 연결 암호화를 참조하세요.

네트워크 설정

SQL Server on Linux와 Active Directory 인증 사용에 대한 포괄적인 정보는 자습서: SQL Server on Linux와 Active Directory 인증 사용을 참조하세요.

다음 옵션은 mssql-conf를 사용하여 구성할 수 있는 추가 네트워크 설정입니다.

옵션 설명
network.disablesssd Active Directory 계정 정보에 대한 SSSD 쿼리를 사용하지 않도록 설정하며 기본적으로 LDAP 호출로 지정됩니다. 값은 true 또는 false일 수 있습니다.
network.enablekdcfromkrb5conf krb5.conf에서 KDC 정보를 조회할 수 있도록 설정합니다. 값은 true 또는 false일 수 있습니다.
network.forcesecureldap 도메인 컨트롤러에 연결하는 데 LDAPS를 사용하도록 강제 적용합니다. 값은 true 또는 false일 수 있습니다.
network.ipaddress 들어오는 연결을 위한 IP 주소입니다.
network.kerberoscredupdatefrequency 업데이트해야 하는 kerberos 자격 증명 검사 사이의 시간(초)입니다. 값은 정수입니다.
network.privilegedadaccount Active Directory 인증에 사용할 권한 있는 Active Directory 사용자입니다. 값은 <username>입니다. 자세한 내용은 자습서: Linux에서 SQL Server와 Active Directory 인증 사용
uncmapping 로컬 경로에 UNC 경로를 매핑합니다. 예: sudo /opt/mssql/bin/mssql-conf set uncmapping //servername/sharename /tmp/folder.
ldaphostcanon 바인딩 단계 중에 OpenLDAP가 호스트 이름을 정식화해야 하는지 여부를 설정합니다. 값은 true 또는 false일 수 있습니다.

추적 플래그 사용 또는 사용 안 함

traceflag 옵션은 SQL Server 서비스를 시작하기 위해 추적 플래그를 사용하거나 사용하지 않도록 설정합니다. 추적 플래그를 사용하거나 사용하지 않도록 설정하려면 다음 명령을 사용합니다.

  1. 다음 명령을 사용하여 추적 플래그를 사용하도록 설정합니다. 예를 들어 추적 플래그 1234의 경우:

    sudo /opt/mssql/bin/mssql-conf traceflag 1234 on
    
  2. 여러 추적 플래그를 개별적으로 지정하여 사용하도록 설정할 수 있습니다.

    sudo /opt/mssql/bin/mssql-conf traceflag 2345 3456 on
    
  3. 이와 비슷한 방식으로 하나 이상의 사용하도록 설정된 추적 플래그를 지정하고 off 매개 변수를 추가하여 해당 추적 플래그를 사용하지 않도록 설정할 수 있습니다.

    sudo /opt/mssql/bin/mssql-conf traceflag 1234 2345 3456 off
    
  4. 변경 내용을 적용하려면 SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    

설정 제거

mssql-conf set를 사용하여 지정된 설정을 해제하려면 mssql-confunset 옵션 및 설정 이름과 함께 호출합니다. 이렇게 하면 설정이 삭제되고 효과적으로 기본값으로 돌아갑니다.

  1. 다음 예제에서는 network.tcpport 옵션을 삭제합니다.

    sudo /opt/mssql/bin/mssql-conf unset network.tcpport
    
  2. SQL Server 서비스를 다시 시작합니다.

    sudo systemctl restart mssql-server
    

현재 설정 보기

구성된 설정을 보려면 다음 명령을 실행하여 mssql.conf 파일의 콘텐츠를 출력합니다.

sudo cat /var/opt/mssql/mssql.conf

이 파일에 표시되지 않는 모든 설정은 해당 기본값을 사용합니다. 다음 섹션에서는 샘플 mssql.conf 파일을 제공합니다.

다양한 옵션 보기

mssql-conf 유틸리티를 사용하여 구성할 수 있는 다양한 옵션을 보려면 help 명령을 실행합니다.

sudo /opt/mssql/bin/mssql-conf --help

결과는 각 설정에 대한 다양한 구성 옵션과 간단한 설명을 제공합니다.

mssql.conf 형식

다음 /var/opt/mssql/mssql.conf 파일은 각 설정의 예제를 제공합니다. 이 형식을 사용하여 필요에 따라 mssql.conf 파일을 수동으로 변경할 수 있습니다. 수동으로 파일을 변경하는 경우 변경 내용이 적용되기 전에 SQL Server를 다시 시작해야 합니다. Docker와 함께 mssql.conf 파일을 사용하려면 Docker가 데이터를 유지하도록 해야 합니다. 먼저 호스트 디렉터리에 전체 mssql.conf 파일을 추가한 후 컨테이너를 실행합니다. Linux의 SQL Server에 대한 사용량 및 진단 데이터 수집 구성에 이 예제가 있습니다.

[EULA]
accepteula = Y

[coredump]
captureminiandfull = true
coredumptype = full

[filelocation]
defaultbackupdir = /var/opt/mssql/data/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/data/

[hadr]
hadrenabled = 0

[language]
lcid = 1033

[memory]
memorylimitmb = 4096

[network]
forceencryption = 0
ipaddress = 10.192.0.0
kerberoskeytabfile = /var/opt/mssql/secrets/mssql.keytab
tcpport = 1401
tlscert = /etc/ssl/certs/mssql.pem
tlsciphers = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2,1.1,1.0

[sqlagent]
databasemailprofile = default
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7

[telemetry]
customerfeedback = true
userrequestedlocalauditdirectory = /tmp/audit

[traceflag]
traceflag0 = 1204
traceflag1 = 2345
traceflag = 3456
[EULA]
accepteula = Y
accepteulaml = Y

[coredump]
captureminiandfull = true
coredumptype = full

[distributedtransaction]
servertcpport = 51999

[filelocation]
defaultbackupdir = /var/opt/mssql/data/
defaultdatadir = /var/opt/mssql/data/
defaultdumpdir = /var/opt/mssql/data/
defaultlogdir = /var/opt/mssql/data/

[hadr]
hadrenabled = 0

[language]
lcid = 1033

[memory]
memorylimitmb = 4096

[network]
forceencryption = 0
ipaddress = 10.192.0.0
kerberoskeytabfile = /var/opt/mssql/secrets/mssql.keytab
rpcport = 13500
tcpport = 1401
tlscert = /etc/ssl/certs/mssql.pem
tlsciphers = ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA
tlskey = /etc/ssl/private/mssql.key
tlsprotocols = 1.2,1.1,1.0

[sqlagent]
databasemailprofile = default
errorlogfile = /var/opt/mssql/log/sqlagentlog.log
errorlogginglevel = 7

[telemetry]
customerfeedback = true
userrequestedlocalauditdirectory = /tmp/audit

[traceflag]
traceflag0 = 1204
traceflag1 = 2345
traceflag = 3456

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

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

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