다음 섹션에서는 SQL Server on Linux 알려진 문제에 대해 설명합니다.
일반
다음 표에서는 SQL Server on Linux 가장 일반적인 문제를 나열합니다.
| 문제 | 해결 방법 |
|---|---|
| SQL Server가 설치된 호스트네임의 길이는 15자 이하여야 합니다. | 이름을 /etc/hostname 15자 이내 값으로 바꿔보세요. |
| 수동으로 시스템 시간을 거꾸로 설정하면 SQL Server가 데이터베이스 엔진 내에서 내부 시스템 시간을 업데이트하는 것을 멈춥니다. | SQL Server 다시 시작합니다. |
| 단일 인스턴스 설치만 지원됩니다. | 한 호스트에 여러 인스턴스를 두려면, 가상 머신 이나 리눅스 컨테이너를 사용하는 것을 고려하세요. |
| SQL Server 구성 관리자 SQL Server on Linux 연결할 수 없습니다. | 구성 관리자 Linux에서 지원되지 않습니다. 대신 SQL Server on Linux 관리하는 데 사용합니다mssql-conf. |
계정의 sa 기본 언어는 영어입니다. |
sa 계정의 언어를 ALTER LOGIN 문으로 변경합니다. |
OLE DB 공급자는 다음 경고를 기록합니다.Failed to verify the Authenticode signature of 'C:\binn\msoledbsql.dll'. Signature verification of SQL Server DLLs will be skipped. Genuine copies of SQL Server are signed. Failure to verify the Authenticode signature might indicate that this isn't an authentic release of SQL Server. Install a genuine copy of SQL Server or contact customer support. |
사용자가 조치할 필요는 없습니다. OLE DB 제공자는 SHA256 서명을 사용합니다. SQL Server 데이터베이스 엔진 서명된 .dll 올바르게 유효성을 검사하지 않습니다. |
비밀번호 mssql-conf 재설정 명령은 다음과 같은 오류를 냅니다:Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information. |
이 오류 메시지는 가음성입니다. 비밀번호 재설정이 성공하면 새 비밀번호를 계속 사용할 수 있습니다. 적용 대상: SQL Server 2022 (16.x) 컨테이너 이미지만 해당됩니다. |
데이터베이스
유틸리티로
mssql-conf데이터베이스를master옮길 수 없습니다. 다른 시스템 데이터베이스는mssql-conf.Windows SQL Server 백업된 데이터베이스를 복원하는 경우 Transact-SQL 문에서
WITH MOVE절을 사용해야 합니다. 자세한 내용은 백업 및 복원을 사용하여 SQL Server 데이터베이스를 Windows에서 Linux로 마이그레이션을 참조하세요.TLS(전송 계층 보안)에 대한 특정 알고리즘(암호 그룹)이 SQL Server on Linux 제대로 작동하지 않습니다. 이 동작은 SQL Server에 연결하려 할 때 연결 실패를 일으키고, 고가용성 그룹 내 복제본 간 연결 형성에 문제가 발생합니다.
이 문제를 해결하기 위해 SQL Server on Linux 설정 스크립트를
mssql.conf수정하여 문제가 있는 암호 모음을 비활성화하세요:/var/opt/mssql/mssql.conf에 다음 섹션을 추가합니다. 느낌표 기호(!)는 식을 부정합니다. 이 부정은 OpenSSL에 이어지는 암호 모음을 사용하지 말라고 알려줍니다.[network] tlsciphers=AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!ECDHE-RSA-AES128-GCM-SHA256:!ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES128-GCM-SHA256:!ECDHE-ECDSA-AES256-SHA384:!ECDHE-ECDSA-AES128-SHA256:!ECDHE-ECDSA-AES256-SHA:!ECDHE-ECDSA-AES128-SHA:!ECDHE-RSA-AES256-SHA384:!ECDHE-RSA-AES128-SHA256:!ECDHE-RSA-AES256-SHA:!ECDHE-RSA-AES128-SHA:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-DSS-AES256-SHA256:!DHE-DSS-AES128-SHA256:!DHE-DSS-AES256-SHA:!DHE-DSS-AES128-SHA:!DHE-DSS-DES-CBC3-SHA:!NULL-SHA256:!NULL-SHA다음 명령을 사용하여 SQL Server 다시 시작합니다.
sudo systemctl restart mssql-server
OLTP를 사용하는 Windows에서는 2014년(12.x) 데이터베이스SQL Server 복원In-Memory SQL Server on Linux 수 없습니다. SQL Server 2014(12.x) 데이터베이스에서 In-Memory OLTP를 사용하는 경우 먼저 데이터베이스를 Windows 최신 버전의 SQL Server 업그레이드합니다. 그 다음, 백업/복원 또는 분리/첨부 기능을 통해 리눅스의 SQL Server on Linux로 옮기면 됩니다.
리눅스는 현재 사용자 권한을 지원
ADMINISTER BULK OPERATIONS하지 않습니다.SQL Server 2019 (15.x) CU 16 이후 버전으로 생성된 투명한 데이터 암호화 (TDE) 압축 백업을 이전 SQL Server 2019 (15.x) CU 버전으로 복원할 수 없습니다. 자세한 내용은 FIX: RESTORE LOG 또는 RESTOREDATABASE 실행 중 오류 3241이 발생함을 참조하세요.
SQL Server 2019 (15.x) CU 16 및 이후 버전에서는 이전 SQL Server 2019 (15.x) CU 버전으로 만든 TDE 압축 백업을 복원할 수 있습니다.
Ubuntu 22.04에 SQL Server 2022(16.x)를 설치하면
Failed to start Microsoft SQL Server 데이터베이스 엔진오류 메시지가 표시될 수 있습니다. 오류 로그를 검토하면 시스템 데이터베이스에 대한 잘못된 경로가 표시됩니다.이 문제를 해결하려면 단일 사용자 모드에서 인스턴스를 시작하고
ALTER DATABASE ... MODIFY FILE을 사용하여 시스템 데이터베이스의 구성된 위치/var/opt/mssql/data를 기본 위치로 이동합니다. 변경 후에는 서비스를 재시작하세요.
네트워크
프로세스에서 sqlservr 나가는 TCP 연결이 포함된 기능들, 예를 들어 연결된 서버, PolyBase, 가용성 그룹은 다음 조건이 모두 적용될 경우 작동하지 않을 수 있습니다:
대상 서버는 IP 주소가 아닌 호스트 이름으로 지정됩니다.
원본 인스턴스의 IPv6는 커널에서 사용하지 않도록 설정되어 있습니다. 커널에서 시스템의 IPv6이 사용하도록 설정되어 있는지 확인하려면 다음 테스트를 모두 통과해야 합니다.
-
cat /proc/cmdline은 현재 커널의 부팅 명령줄을 인쇄합니다. 출력에는ipv6.disable=1이 포함되지 않아야 합니다. -
/proc/sys/net/ipv6/디렉터리가 있어야 합니다. - C 프로그램을 호출
socket(AF_INET6, SOCK_STREAM, IPPROTO_IP)하면 성공할 수 있습니다. 시스템 호출은 반드시 를fd != -1반환해야 하며, 와 함께EAFNOSUPPORT실패해서는 안 됩니다.
-
정확한 오류는 기능에 따라 달라집니다. 연결된 서버의 경우 로그인 시간 제한 오류가 표시됩니다. 가용성 그룹의 경우, 보조 DLL이 ALTER AVAILABILITY GROUP JOIN 5분 후에 오류가 발생 download configuration timeout 해 실패합니다.
이 문제를 해결하려면 다음 옵션 중 하나를 수행합니다.
호스트 이름 대신 IP를 사용하여 TCP 연결의 대상을 지정합니다.
부팅 명령줄에서
ipv6.disable=1을 제거하여 커널에서 IPv6을 사용하도록 설정합니다. 방법은 grub과 같은 Linux 배포 및 부트로더에 따라 다릅니다. IPv6을 사용하지 않도록 설정하려면net.ipv6.conf.all.disable_ipv6 = 1구성(예:sysctl)에서/etc/sysctl.conf을 설정하여 사용하지 않도록 설정할 수도 있습니다. 이렇게 설정하면 시스템의 네트워크 어댑터가 IPv6 주소를 가져올 수 없지만sqlservr기능이 작동할 수 있습니다.
2022년 SQL Server TLS 1.3이 지원되지 않음
적용 대상: SQL Server 2022 (16.x) 전용.
TLS 1.3은 Windows SQL Server 2022(16.x)에서 지원되지만 Linux에서 TLS 1.2를 사용해야 합니다.
비고
TLS 1.3은 Ubuntu 22.04, Ubuntu 24.04, RHEL 9 및 RHEL 10의 SQL Server 2025(17.x)에 대해 지원됩니다. TLS 1.3은 기본적으로 사용하도록 설정되어 있습니다.
NFS(네트워크 파일 시스템)
프로덕션에서 NFS(네트워크 파일 시스템) 원격 공유를 사용하는 경우 다음과 같은 지원 요구 사항을 확인합니다.
NFS 버전 4.2 이상 버전을 사용합니다. 이전 버전의 NFS는 최신 파일 시스템에서 일반적으로 필요한 기능(예:
fallocate및 스파스 파일 만들기)을 지원하지 않습니다.NFS 마운트에서는 디렉터리만
/var/opt/mssql지원됩니다. SQL Server 시스템 이진 파일과 같은 다른 파일은 지원되지 않습니다.NFS 클라이언트가 원격 공유를 탑재할 때
nolock옵션을 사용하는지 확인합니다.
Microsoft Entra 인증을 사용한 IPv6 연결
서버 또는 컨테이너가 IPv6에 사용하도록 설정된 경우 IPv6 주소에 연결할 수 있고 라우팅할 수 있는지 확인합니다. IPv6이 완전히 구성되지 않은 경우 연결할 수 없는 IPv6 엔드포인트로 인해 Microsoft Entra ID 인증 요청이 실패할 수 있습니다.
SQL Server 2022 CU 19 및 이후 버전에서 IPv6 DNS 이름 확인 동작을 제어하려면 network.ipv6dnsrecordslimit에서 mssql-conf 옵션을 설정합니다. 자세한 내용은 network.ipv6dnsrecordslimit를 참조하세요.
지역화
설치하는 동안 로캘이 영어(
en_us)가 아닌 경우 bash 세션/터미널에서 UTF-8 인코딩을 사용해야 합니다. ASCII 인코딩을 사용하는 경우 다음 출력과 유사한 오류가 표시될 수 있습니다.UnicodeEncodeError: 'ascii' 코덱은 위치 8에서 문자 u'\xf1'을 인코딩할 수 없습니다. 서수가 128 범위에 포함되지 않습니다.
UTF-8 인코딩을 사용할 수 없다면, 환경 변수로
MSSQL_LCID설정하여 언어 선택을 지정하세요.sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setupSQL Server를 비
mssql-conf setup영어로 설치할 때, "SQL Server 구성 중..." 같은 현지화된 텍스트 뒤에 잘못된 확장 문자가 보일 수 있습니다. ". 또는 라틴어 이외 설치의 경우 문장이 완전히 누락될 수 있습니다. 누락된 문장에는 다음 지역화된 문자열이 표시되어야 합니다.라이선싱 PID가 성공적으로 처리되었습니다. 새 버전은 [<Name> Edition]입니다.
이 문자열은 정보 제공 목적으로만 나타나며 SQL Server 설치에는 영향을 주지 않습니다.
전체 텍스트 검색
Microsoft Office 문서에 대한 필터를 포함하여 이 릴리스에서 모든 필터를 사용할 수 있는 것은 아닙니다. 지원되는 필터 목록은 Linux에서 SQL Server Full-Text 검색 설치를 참조하세요.
SQL Server Integration Services(SSIS)
mssql-server-is 패키지는 SLES(SUSE Linux Enterprise Server)에서 지원되지 않습니다. 이 패키지는 Ubuntu와 Red Hat Enterprise Linux(RHEL)에서 지원됩니다.
Integration Services 패키지는 Linux에서 ODBC 연결을 사용할 수 있습니다. 이 기능은 SQL Server와 MySQL ODBC 드라이버에서 작동하며, ODBC 명세를 준수하는 모든 유니코드 ODBC 드라이버에서도 작동해야 합니다. 설계 시점에는 DSN 또는 ODBC 데이터에 연결할 연결 문자열을 제공하세요; Windows 인증 사용도 가능합니다. 자세한 내용은 Linux의 ODBC 지원을 알리는 블로그 게시물을 참조하세요.
이 릴리스는 Linux에서 SSIS 패키지를 실행할 때 다음 기능을 지원하지 않습니다:
- Integration Services 카탈로그 데이터베이스
- SQL Server 에이전트 예약된 패키지 실행
- Windows 인증
- 타사 구성 요소
- CDC(변경 데이터 캡처)
- 통합 서비스 확장
- SSIS용 Azure 기능 팩
- Hadoop 및 HDFS 지원
- SAP BW용 Microsoft 커넥터
제한적이거나 지원되지 않는 내장 SSIS 구성 요소 목록은 리눅스에서 SQL Server Integration Services(SSIS)에 대한 기능 지원 및 고려사항을 참조하세요.
Linux SSIS에 대한 자세한 내용은 다음 문서를 참조하세요.
- Linux에 대한 SSIS 지원을 알리는 블로그 게시물.
- Linux에서 SQL Server Integration Services (SSIS)를 설치합니다
- SSIS를 사용하여 Linux에서 데이터 추출, 변환 및 로드
SQL Server Management Studio(SSMS)
SQL Server on Linux 연결된 Windows SQL Server Management Studio 다음 제한 사항이 적용됩니다.
유지 관리 계획은 지원되지 않습니다.
MDW(관리 Data Warehouse) 및 SQL Server Management Studio 데이터 수집기는 지원되지 않습니다.
Windows 인증 또는 Windows 이벤트 로그 옵션이 있는 SQL Server Management Studio UI 구성 요소는 Linux에서 작동하지 않습니다. SQL Server 로그인과 같은 다른 옵션과 함께 이러한 기능을 계속 사용할 수 있습니다.
로그 파일 수를 수정할 수 없습니다.
고가용성 및 재해 복구
적용 대상: SQL Server 2022 (16.x) 전용.
SQL SERVER 2022(16.x) CU 16 및 이전 버전을 실행하면 RHEL 9에서 SELinux를 사용하도록 설정된 제한된 애플리케이션으로 실행하면 Pacemaker 클러스터링이 예상대로 작동하지 않을 수 있습니다. Pacemaker 클러스터링 기능을 사용하려면 SELinux를 켜고 제한 없는 애플리케이션으로 SQL Server 2022(16.x)를 설치해야 합니다. 이 문제는 SQL Server 2022(16.x) CU 17에서 해결되었습니다.
머신 러닝 서비스
적용 대상: SQL Server 2022 (16.x) 전용.
RHEL 9와 Ubuntu 22.04용 SQL Server 2022(16.x) 패키지의 경우, Machine Learning Services를 설치하기 전에 이 cgroup-v1 전제 조건들을 반드시 고려해야 합니다.
전제 조건으로, Red Hat에서 cgroupfs 사용으로 수동으로 cgroups Enterprise Linux 9를 관리하도록 활성화
cgroup-v1하세요.그런 다음 지침에 따라 설명된 대로 sql Machine Learning Services<를
설치합니다. 네트워크 네임스페이스 격리를 사용하지 않도록 설정합니다.
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1변경 내용이 적용되도록
mssql-launchpadd서비스를 다시 시작합니다.sudo systemctl restart mssql-launchpadd
SQL Server 2025의 알려진 문제
다음 문제는 SQL Server 2025(17.x)에 영향을 줍니다.
하이브리드 CPU 아키텍처를 사용하는 컴퓨터에서 SQL Server on Linux 시작하지 못함
제기: 컴퓨터가 Intel 12세대 이상 하이브리드 아키텍처 CPU를 사용하고 호스트 운영 체제가 Linux인 경우 Linux의 SQL Server 인스턴스가 시작되지 않을 수 있습니다.
다음 출력과 유사한 오류 메시지가 표시될 수 있습니다.
Reason: 0x00000004 Message: ASSERT: Expression=(result * DrtlGetProcessorCoreCount() == DrtlGetProcessorCount()) File=LibOS\Windows\Kernel\SQLPal\common\dk\sos\src\sosnumap.cpp Line=208
Linux 호스트 운영 체제를 사용하려는 경우 BIOS에서 효율성 코어(E-코어)를 사용하지 않도록 설정하여 문제를 해결할 수 있습니다. 컨테이너나 Windows Hyper-V 같은 하이퍼바이저(WSL 포함)를 사용하면 이 문제는 영향을 받지 않습니다.
Linux 운영 체제에서 지원되지 않는 로컬 ONNX 모델
CREATE EXTERNAL MODEL SQL Server 직접 호스팅되는 로컬 ONNX 모델은 현재 SQL Server 2025(17.x)의 Linux에서 사용할 수 없습니다.