mssql-django 패키지는 SQL Server, Azure SQL Database, Azure SQL Managed Instance 및 Microsoft Fabric의 SQL 데이터베이스를 위한 Microsoft가 공식 지원하는 Django 데이터베이스 백엔드입니다.
GitHub 적극적으로 유지 관리되며 PyPI를 통해 릴리스됩니다. 이 페이지에서는 버전 관리, 플랫폼 호환성 및 지원 정책에 대해 설명합니다.
버전 지원
항상 최신 릴리스를 사용하여 새로운 기능, 성능 향상 및 보안 수정을 얻습니다. 새 기능은 현재 릴리스에만 추가됩니다.
현재 버전
버전 2.0이 현재 일반 제공 상태(GA) 버전입니다.
Important
버전 2.0에서는 데이터베이스 별칭이 mssql-python를 사용하더라도 pyodbc 1.15.0 이상이 필요합니다. 이 패키지는 호환 mssql-python 가능한 배포판이 있는 플랫폼에만 설치됩니다. 다른 플랫폼의 프로젝트는 버전 1.8.0을 유지합니다.
지원 상태 정의
버전 테이블에서 다음 상태 값을 사용합니다.
| 상태 | Meaning |
|---|---|
| 현재 | 새 기능, 버그 수정 및 보안 수정을 받습니다. |
| 이전 | 기록 릴리스입니다. 계속 사용할 수 있지만 업데이트를 받지 않습니다. |
버전 기록
| 버전 | 릴리스 날짜 | 상태 | Django 버전 | 주요 기능 |
|---|---|---|---|---|
| 2.0 | 2026년 9월 | 현재 | 5.2 - 6.1 | 선택형 mssql-python 드라이버, Python 3.10 - 3.14, zoneinfo 대체pytz, MARS 및 inspectdb 수정 |
| 1.8.0 | 2026년 8월 | Previous | 3.2 - 6.1 | Django 6.1 지원, quote_name 쿼리 컴파일러 변경, 외래키 인트로스펙션이 ON DELETE 규칙을 반환합니다 |
| 1.7.4 | 2026년 7월 | Previous | 3.2 - 6.0 |
GROUP BY 실제 매개변수가 있는 이스케이프된 %% 리터럴 및 raw 쿼리의 IntegerChoices 매개변수에 대한 수정 |
| 1.7.3 | 2026년 6월 | Previous | 3.2 - 6.0 |
FA001
Authentication=
ActiveDirectoryMsi 이외의 모드에 대한 수정, 서브클래스된 DatabaseWrapperKeyError 수정(1.7.1의 회귀) |
| 1.7.2 | 2026년 5월 | Previous | 3.2 - 6.0 |
datetimeoffset 표준 시간대 수정, Now() 표준 시간대 수정, .explain() 호환성 수정 |
| 1.7.1 | 2026년 4월 | Previous | 3.2 - 6.0 | Fabric의 SQL 데이터베이스 수정 사항, 내림차순 인덱스 AlterField 수정 사항 |
| 1.7 | 2026년 3월 | Previous | 3.2 - 6.0 | Django 6.0 지원, ODBC 드라이버 18 기본값, SQL Server 2025 지원 |
| 1.6 | 2025년 8월 | Previous | 3.2 - 5.2 | Django 5.1 및 5.2 지원, 향상된 JSON 기능 |
| 1.5 | 2024년 4월 | Previous | 3.2 - 5.0 |
supports_comments 플래그, AutoField 수정 사항 |
| 1.4 | 2024년 1월 | Previous | 3.2 - 5.0 | Django 5.0 지원, db_comment 지원 |
| 1.3 | 2023년 5월 | Previous | 3.2 - 4.2 | Django 4.2 지원, 대/소문자 구분 Replace |
| 1.2 | 2022년 12월 | Previous | 3.2 - 4.1 | Django 4.1 지원, 시간대 지원, Azure SQL Managed Instance에서의 JSONField 지원 |
| 1.1 | 2022년 7월 | Previous | 3.2 - 4.0 | Django 3.2 및 4.0 지원을 사용한 초기 릴리스 |
1.1 이전 버전은 시험판이었으며 나열되지 않았습니다.
Important
수정 사항 및 새 기능은 새 릴리스에서만 제공됩니다. 이전 버전은 PyPI에서 계속 사용할 수 있지만 현재 위치에 패치되지 않습니다. 버그 수정 또는 보안 수정을 받으려면 최신 릴리스로 업그레이드합니다.
자세한 릴리스 정보는 mssql-django의 새로운 기능입니다.
Django 및 Python 버전 호환성
각 Django 릴리스는 특정 Python 버전을 지원합니다.
mssql-django 2.0은 다음 조합을 테스트합니다:
| Django 버전 | Python 버전 |
|---|---|
| 6.1 | 3.12, 3.13, 3.14 |
| 6.0 | 3.12, 3.13, 3.14 |
| 5.2 | 3.10, 3.11, 3.12, 3.13 |
Django 3.2부터 5.1까지, 그리고 Python 3.8, 3.9는 지원이 종료되어 테스트되지 않았습니다. 해당 버전의 프로젝트는 1.8.0 버전으로 mssql-django 유지됩니다.
Important
항상 지원되는 Python 버전을 사용합니다. 이전 Python 버전은 보안 업데이트를 받지 않습니다.
SQL Server and Azure SQL 호환성
mssql-django2.0은 지원되는 모든 Microsoft SQL 버전을 지원합니다. 백엔드가 인식하지 못하는 최신 SQL Server 메이저 버전은 버전 검증에 실패하는 대신 백엔드가 알고 있는 최신 기능 세트를 사용해 연결됩니다.
| 제품 또는 서비스 | 지원 상태 |
|---|---|
| SQL Server | 완전히 지원됨 |
| Azure 가상 머신에서의 SQL Server | 완전히 지원됨 |
| Azure SQL 데이터베이스 | 완전히 지원됨 |
| Azure SQL Managed Instance(애저 SQL 매니지드 인스턴스) | 완전히 지원됨 |
| Fabric 내의 SQL 데이터베이스 | 완전히 지원됨 |
| Microsoft Fabric Warehouse | 연결 전용.
pyodbc 경로에서 extra_params에 MARS_Connection=no을 설정합니다. Django 마이그레이션이나 기타 SQL Server 기능은 지원되지 않습니다. |
| Azure Synapse Analytics | 연결고리만 가능합니다. Django 마이그레이션이나 기타 SQL Server 기능은 지원되지 않습니다. |
데이터베이스 드라이버 호환성
mssql-django2.0은 각 데이터베이스 별칭에 대해 선택된 두 개의 Python 데이터베이스 드라이버 중 하나를 통해 연결됩니다. 자세한 내용은 mssql-django의 데이터베이스 드라이버 선택을 참조하세요.
| Python 드라이버 | 지원 상태 | Connectivity |
|---|---|---|
pyodbc |
완전 지원(기본값) | Microsoft ODBC 드라이버 17 또는 18 for SQL Server, 별도로 설치 |
mssql-python |
완전 지원 (옵션으로 python_driver 선택해 주세요) |
별도의 설치가 필요 없는 내장형 |
ODBC 드라이버 호환성
경로상 pyodbc 에서 백엔드는 기본적으로 SQL Server용 ODBC 드라이버 18로 전환되며, 버전 18이 설치되지 않으면 자동으로 ODBC 드라이버 17로 되돌아갑니다. 데이터베이스 설정에서 driver 옵션으로 기본값을 재정의하세요. 명시적 가치는 후퇴하지 않습니다.
| ODBC 드라이버 | 지원 상태 |
|---|---|
| Microsoft ODBC Driver 18 for SQL Server | 완전 지원(기본값) |
| Microsoft ODBC Driver 17 for SQL Server | 완전 지원(폴백) |
| FreeTDS ODBC 드라이버 |
pyodbc 경로에서 지원됨 |
mssql-python 경로는 driver 옵션을 무시합니다.
설치 지침은 ODBC Driver for SQL Server 다운로드를 참조하세요.
운영 체제 호환성
mssql-django 2.0은 mssql-python를 요구하므로, 패키지는 호환되는 mssql-python 배포판이 존재하는 경우에만 설치됩니다. 해당 요구 사항은 모든 데이터베이스 별칭이 pyodbc를 사용하는 경우에도 적용됩니다.
| 운영 체제 | Architecture | 지원 상태 |
|---|---|---|
| Windows 11, Windows Server 2019, 2022, 2025 | X64 | 지원됨 |
| Windows 11, Windows Server 2022 및 2025 | ARM64 | Python 3.11 및 이후 버전에서 지원 |
| macOS 15 및 이후 버전 | 인텔, 애플 실리콘 | 지원됨 |
| glibc 2.28 이후 버전인 Ubuntu 22.04 및 24.04, Debian 11 및 12, Red Hat Enterprise Linux 8 및 9 등 Linux도 포함됩니다 | x64, ARM64 | 지원됨 |
| Musl 1.2 이상 버전, 예를 들어 Alpine Linux와 같은 리눅스입니다 | x64, ARM64 | 지원됨 |
| SUSE Linux Enterprise Server | ARM64 | 지원되지 않음 |
지원되지 않는 플랫폼의 프로젝트는 mssql-django 1.8.0 버전에 유지되며, 이 버전에는 mssql-python가 필요하지 않습니다.
pyodbc 경로에서 Microsoft ODBC Driver for SQL Server를 별도로 설치하세요. 설치 단계는 운영체제에 따라 다릅니다. 플랫폼별 설정은 mssql-django 설치 를 참조하세요.
기능 호환성
다음 표에는 mssql-django 백엔드에서의 Django 및 SQL Server 기능과 해당 지원 상태가 나열되어 있습니다. 지원되지 않는 기능에 대한 자세한 내용은 mssql-django의 제한 사항 및 지원되지 않는 기능을 참조하세요.
Django ORM 기능
| 특징 | mssql-django 지원 |
|---|---|
| Migrations | Yes |
QuerySet API |
Yes |
JSONField |
Yes |
bulk_create / bulk_update |
Yes |
| 데이터베이스 트랜잭션 | Yes |
inspectdb와 --schema |
Yes |
DISTINCT ON |
아니오 |
__regex
/
__iregex 조회 |
부분(CLR 어셈블리 설정 필요, Azure SQL Database 사용할 수 없음) |
SmallAutoField |
Yes |
select_for_update() |
예(NOWAIT 및 SKIP_LOCKED; of 지원되지 않음) |
| 창 함수 | Yes |
GeneratedField (계산된 열) |
예(Django 5.0 이상) |
CompositePrimaryKey |
부분(Django 5.2 이상, 제한 사항 참조) |
db_comment |
예(Django 4.2 이상) |
커버링 인덱스(include) |
예(Django 4.2 이상) |
NthValue |
아니오 |
SQL Server 기능
| 특징 | mssql-django 지원 |
|---|---|
| 암호화된 연결(TLS) | Yes |
| 항상 암호화됨 | Yes |
| "Microsoft Entra" 인증 | Yes |
| 다중 활성 결과 집합 (MARS) | 네, pyodbc 경로에 있습니다. 백엔드는 별칭이 Windows에서 Microsoft ODBC 드라이버를 사용할 때 MARS를 활성화합니다.
mssql-python 경로는 MARS를 절대 활성화하지 않으며 MARS_Connection 키워드를 허용하지 않습니다. |
| 저장된 프로시저 | 예(통해 cursor.execute) |
SNAPSHOT 격리 |
예(데이터베이스 수준 구성 필요) |
| 읽기 전용 라우팅 | Yes |
종속성 요구 사항
패키지는 mssql-django 다음 종속성을 자동으로 설치합니다.
| 종속성 | Purpose | 필수 버전 |
|---|---|---|
| Django | 웹 프레임워크 | >=5.2,<6.2 |
pyodbc |
Python용 기본 ODBC 데이터베이스 드라이버 | >=3.0 |
mssql-python |
Python 데이터베이스 드라이버. 무조건적으로 설치되며, 별칭이 옵트인할 때만 사용됩니다. | >=1.15.0 |
tzdata |
운영 체제에서 표준 라이브러리 zoneinfo 모듈을 제공하지 않는 경우 사용되는 IANA 시간대 데이터베이스 |
Any |
이 경로는 pyodbc 호스트 시스템에서 Microsoft ODBC Driver for SQL Server를 필요로 합니다. 경로에는 mssql-python 별도의 ODBC 드라이버 설치가 없습니다. 자세한 내용은 mssql-django 설치를 참조하세요.
버전 관리 및 호환성이 깨지는 변경에 대한 정책
- 주요 버전(2.0): 지원되는 Python, Django, SQL Server, 플랫폼 매트릭스를 변경할 수 있으며, 의존성을 추가하거나 제거할 수 있습니다. 주요 변경사항은 주요 버전에서만 나타납니다.
- 부 버전 (1.6, 1.7): 새 Django 버전 지원, 새 기능 및 버그 수정을 포함합니다. 이전 버전과의 호환성을 유지합니다.
- 패치 버전 (1.7.1, 1.7.2, 1.7.3, 1.7.4): 버그 수정만 포함하세요.
팀은 릴리스 노트에 호환성이 깨지는 변경 사항을 기록합니다. 버전별 참고 사항은 mssql-django의 새로운 기능 참조
최신 상태를 유지하는 방법
백 엔드는 mssql-django Django 릴리스를 추적하기 위해 새 버전을 릴리스합니다. Django를 업그레이드할 때 업데이트를 확인합니다.
설치된 버전 확인
현재 설치된 버전을 확인합니다.
pip show mssql-django
최신 버전으로 업그레이드
최신 릴리스로 업데이트:
pip install --upgrade mssql-django
업데이트 구독
- 릴리스 알림은 GitHub 리포지토리를 시청하세요.
- PyPI에서 새 릴리스를 확인합니다.
- 각 릴리스에 대한 변경 로그 를 검토합니다.
지원 받기
Microsoft는 GitHub 및 커뮤니티 채널을 통해 mssql-django를 지원합니다.
GitHub 문제
GitHub 버그를 보고하고 기능을 요청합니다.
문제를 보고할 때는 Django 버전, Python 버전, SQL Server 버전, Python 데이터베이스 드라이버 및 그 버전, 그리고 문제의 최소한의 재현을 포함하세요.
Contribute
커뮤니티 기여를 환영합니다. CLA(기여자 사용권 계약) 및 제출 프로세스에 대한 자세한 내용은 기여 가이드를 참조하세요.
커뮤니티
- 스택 오버플로: 질문에
django및sql-server태그를 지정하세요. - Django 설명서
- Azure Python 개발자 센터