mssql-python 드라이버는 Microsoft의 공식 Python 드라이버로서 SQL Server, Azure SQL Database, Azure SQL Managed Instance, SQL 데이터베이스에 대한 드라이버입니다. Microsoft Fabric. 이 드라이버는 GitHub에서 활발히 유지되고 있으며 PyPI를 통해 배포됩니다. 이 글에서는 버전 관리, 플랫폼 호환성, 지원 일정을 다룹니다.
버전 지원
항상 최신 버전을 사용해 새로운 기능, 성능 향상, 보안 수정을 받으세요. 새 기능은 현재 릴리스에만 추가됩니다.
현재 버전
버전 1.11.0이 현재 일반 제공 버전(GA) 버전입니다.
버전 기록
| 버전 | 릴리스 날짜 | 상태 | 주요 기능 |
|---|---|---|---|
| 1.11.0 | 2026년 7월 | 현재 | 컨텍스트 매니저 커밋/롤백, 애플 실리콘 수정, 서비스 주체 대량 복사 수정 |
| 1.10.0 | 2026년 6월 | Previous | ActiveDirectoryServicePrincipal을 이용한 대량 복사, Arrow VARCHAR 수정 사항 |
| 1.9.0 | 2026년 6월 | Previous | Row 객체를 이용한 대량 복사, 개선된 NULL 매개변수 타이핑 |
| 1.8.0 | 2026년 5월 | Previous | ActiveDirectoryMSI를 이용한 대량 복사, 행 문자열 키 인덱싱 |
| 1.7.1 | 2026년 5월 | Previous | RHEL 8 휠, 더 넓은 동시성 및 유니코드 수정 |
| 1.6.0 | 2026년 4월 | Previous | 파서 기반 연결 문자열 정제, 연결/해제 동시성 문제 수정 |
| 1.5.0 | 2026년 4월 | Previous | Arrow fetch, sql_variant, 기본 UUID |
| 1.4.0 | 2025년 2월 | Previous | 대량 복사 지원 (BCP) |
| 1.3.0 | 2025년 1월 | Previous | 설정 클래스, 모듈 구성 |
| 1.2.0 | 2024년 11월 | Previous | 스키마 발견 방법 |
| 1.1.0 | 2024년 9월 | Previous | 맞춤형 출력 변환기 |
| 1.0.0 | 2024년 7월 | Previous | 최초 GA 출시 |
중요합니다
현재 버전(1.11.0)만 새로운 기능과 버그 수정을 받습니다. 이전 버전들은 여전히 작동하지만 업데이트를 받지 않습니다. 최상의 경험을 위해 최신 버전으로 업그레이드하세요.
Python 버전 호환성
mssql-python 드라이버는 Python 3.10 이상이 필요합니다. 새 프로젝트를 시작한다면, 호환성 매트릭스에서 가장 긴 지원 창을 목표로 최신 지원되는 Python 릴리스를 목표로 하세요. 만약 구버전 Python(3.9 이상)에만 제한이 있다면, 대신 pyodbc를 사용하세요.
| Python 버전 | 지원 상태 |
|---|---|
| Python 3.14 | 지원됨 |
| Python 3.13 | 지원됨 |
| Python 3.12 | 지원됨 |
| Python 3.11 | 지원됨 |
| Python 3.10 | 최소 지원 |
| Python 3.9 및 그 이전 버전 | 지원되지 않음 |
중요합니다
항상 지원되는 Python 버전을 사용합니다. 이전 Python 버전은 보안 업데이트를 받지 않습니다.
SQL Server 버전 호환성
mssql-python 드라이버는 TDS 프로토콜을 사용하며 모든 적극적으로 지원되는 SQL Server 버전과 호환됩니다.
| SQL Server 버전 | 지원 상태 |
|---|---|
| 지원되는 모든 Microsoft SQL Server 버전 | 완전히 지원됨 |
Azure SQL 서비스
| 서비스 | 지원 상태 |
|---|---|
| Azure SQL 데이터베이스 | 완전히 지원됨 |
| Azure SQL Managed Instance(애저 SQL 매니지드 인스턴스) | 완전히 지원됨 |
| Azure Synapse Analytics(전용 풀) | 지원됨 |
Microsoft Fabric
| Endpoint | 지원 상태 |
|---|---|
| Fabric 내의 SQL 데이터베이스 | 완전히 지원됨 |
| 패브릭 데이터 웨어하우스 | 지원됨 |
| SQL 분석 엔드포인트 (Lakehouse) | 지원됨 |
| SQL 분석 엔드포인트(미러링된 데이터베이스) | 지원됨 |
운영 체제 호환성
mssql-python 드라이버는 DDBC(Direct Database Connectivity)를 사용하며 Microsoft ODBC 드라이버 설치가 필요하지 않습니다. 외부 의존성을 제거하면 특히 컨테이너와 CI/CD 파이프라인에서 배포가 간소화됩니다.
| 운영 체제 | 아키텍처 | 지원 상태 |
|---|---|---|
| 윈도우 11 | x64, ARM64 | 지원됨 |
| Windows Server 2019, 2022, 2025 | X64 | 지원됨 |
| 우분투 22.04, 24.04, 26.04 | x64, ARM64 | 지원됨 |
| 데비안 11, 12 | x64, ARM64 | 지원됨 |
| 레드햇 엔터프라이즈 리눅스 8, 9 | x64, ARM64 | 지원됨 |
| macOS 14, 15, 26 | Intel, Apple Silicon(ARM64) | 지원됨 |
| 알파인 리눅스 | X64 | 지원됨 |
기능 호환성
다음 표는 현재 MSSQL-파이썬 드라이버 버전(1.11.0)에서 SQL Server 기능과 그 지원 상태를 나열합니다. 필요한 기능(예: Always Encrypted, MARS)이 지원되지 않는다면, 대신 pyodbc 사용을 고려해 보세요. 이전 버전에서 추가된 기능에 대한 정보는 'mssql-python의 새로운 것들'을 참조하세요.
SQL Server 기능
| 특징 | MSSQL-Python 지원 |
|---|---|
| 암호화된 연결(TLS) | 지원됨 |
| 항상 암호화됨 | 지원되지 않음 |
| "Microsoft Entra" 인증 | 지원됨 |
| 다중 활성 결과 집합 (MARS) | 지원되지 않음 |
| 대량 복사(BCP) | 지원됨 |
| Apache Arrow 가져오기 | 지원됨 |
| sql_variant 열 | 지원됨 |
| 기본 UUID | 지원됨 |
| 연결 복원력 | 지원됨 |
| 읽기 전용 라우팅 | 지원됨 |
DB-API 2.0 준수
| 특징 | Support |
|---|---|
| 모듈 인터페이스 | Compliant |
| 연결 인터페이스 | Compliant |
| 커서 인터페이스 | 대체로 순응적이에요 |
| 타입 객체 | Compliant |
| 예외 | Compliant |
callproc() |
구현되지 않음 |
비고
이 callproc() 방법은 구현되지 않았습니다. 표준 쿼리 메서드를 사용하는 문장을 사용하여 EXECUTE 저장 프로시저를 호출합니다.
종속성 요구 사항
mssql-python 드라이버는 의존성이 최소한입니다:
| 종속성 | Purpose | 버전 |
|---|---|---|
| azure-identity | Microsoft Entra ID 인증 | 필수 (>= 1.12.0) |
mssql-python 드라이버는 Microsoft ODBC 드라이버 설치가 필요하지 않습니다.
pyodbc에서 마이그레이션
mssql-python 드라이버는 배포를 단순화하며(ODBC 드라이버 불필요), 내장된 연결 풀링을 제공합니다. 마이그레이션 시 계획해야 할 주요 차이점:
| 고려 사항 | 비고 |
|---|---|
| 매개변수 스타일 | PYODBC는 위치 매개변수를 사용합니다 qmark . MSSQL-파이썬은 기본적으로 이름 있는 매개변수를 사용 pyformat 하며 호환성도 지원합니다 qmark . |
| 행 접근 | 속성 접근은 두 플랫폼 모두 지원합니다. |
| 저장된 프로시저 |
EXECUTE을(를) 사용하세요(callproc은(는) 사용하지 마세요). |
| 연결 풀링 (Connection Pooling) | mssql-python 드라이버에 내장된 풀링. |
자세한 안내는 'pyodbc에서 마이그레이션 '을 참고하세요.
pymssql에서의 마이그레이션
pymssql 드라이버는 더 이상 활발히 유지보수되지 않습니다. mssql-python 드라이버는 유사한 연결 문법을 사용하면서도 내장된 연결 풀링과 Microsoft Entra 인증 같은 현대적인 기능을 지원하는 대안을 제공합니다.
| 고려 사항 | 비고 |
|---|---|
| FreeTDS 의존성 | 필요하지 않습니다. mssql-python 드라이버는 DDBC를 사용합니다. |
| 연결 매개 변수 | 비슷한 스타일이지만 매개변수 이름이 다릅니다. |
| 행 접근 | 두 경우 모두 사전 스타일과 속성 접근 패턴을 지원합니다. |
| 저장된 프로시저 |
EXECUTE을(를) 사용합니다(callproc는 사용하지 않음). |
자세한 안내는 'pymssql에서 마이그레이션 '을 참고하세요.
호환성이 깨지는 변경에 대한 정책
- 주요 버전 (2.0, 3.0): 주요 버전 변경은 API 변경이 깨졌음을 의미합니다.
- 부가소 버전 (1.4, 1.5): 새로운 기능을 포함하고 하위 호환성을 유지합니다.
- 패치 버전 (1.4.1, 1.4.2): 버그 수정만 포함하세요.
팀은 릴리스 노트에 획기적인 변경 사항을 문서화하고 마이그레이션 가이드를 제공합니다.
최신 상태를 유지하는 방법
mssql-python 드라이버는 마이너 버전을 자주 출시합니다. 특히 운영 배치 전에 정기적으로 업데이트를 확인하세요.
설치된 버전 확인
현재 환경에 설치된 드라이버 버전을 확인하세요:
import mssql_python
print(mssql_python.__version__)
최신 버전으로 업그레이드
최신 기능과 보안 수정을 받으려면 최신 버전으로 업데이트하세요.
pip install --upgrade mssql-python
업데이트 구독
- GitHub 저장소를 시청하세요.
- PyPI에서 새 릴리스를 확인해 보세요.
- 각 릴리스의 변경 로그를 확인하세요.
지원 받기
GitHub 문제
GitHub 버그를 보고하고 기능을 요청합니다.
Documentation
Community
- 스택 오버플로우: 질문에
mssql-python태그를 추가하세요. - GitHub 토론: 일반적인 질문과 토론에 사용됩니다.