MSSQL-장고 구성 참조

이 문서는 Django 데이터베이스 백엔드에 대한 mssql-django 완전한 settings.py 구성 참고 자료입니다. SQL Server 연결성을 설정하려면 Django 프로젝트 settings.py 파일의 사전을 DATABASES 편집하세요.

최소 구성

다음 예시는 최소 필요한 구성을 보여줍니다:

DATABASES = {
    "default": {
        "ENGINE": "mssql",
        "NAME": "<your-database>",
        "USER": "<your-username>",
        "PASSWORD": "<your-password>",
        "HOST": "<your-server>",
        "PORT": "1433",
        "OPTIONS": {
            "driver": "ODBC Driver 18 for SQL Server",
        },
    },
}

데이터베이스 연결 설정

이 설정들이 연결을 DATABASES 구성합니다. 대부분은 표준 Django 설정이며; 예외는 다음과 같습니다:

설정 유형 설명
ENGINE String "mssql"이어야 합니다.
NAME String 데이터베이스 이름 필수 사항입니다.
HOST String 서버 호스트네임이나 IP 주소. 이름 붙여진 인스턴스는 형식을 사용 "server\\instance" 하세요.
PORT String 서버 인스턴스 포트. 빈 문자열은 기본 포트를 의미합니다.
USER String 데이터베이스 사용자 이름입니다. 제공되지 않으면 Windows 통합 보안이 사용됩니다.
PASSWORD String 데이터베이스 사용자 비밀번호.
AUTOCOMMIT Boolean Django False 의 트랜잭션 관리를 비활성화하도록 설정하세요. 기본값은 True입니다.
Trusted_Connection String 제공되지 않을 때 USER Windows 통합 보안을 사용하도록 (기본값)로 "yes" 설정하세요. 와 PASSWORD 가 모두 설정되면 USER 그 자격 증명이 우선시되고 Trusted_Connection 무시됩니다. Windows 인증을 명시적으로 비활성화하도록 설정 "no" 하세요. 이것은 표준 Django 설정이 아니라 확장입니다 mssql-django .
TOKEN String Microsoft Entra 인증용 액세스 토큰(예: )을 통해 azure.identity사용하려 합니다. 이것은 표준 Django 설정이 아니라 확장입니다 mssql-django .

테스트 설정

이 설정들은 Django의 테스트 러너가 사용하는 테스트 데이터베이스를 제어합니다:

설정 유형 설명
NAME String 테스트 데이터베이스 이름. 기본값: "test_" + NAME.
COLLATION String 테스트 데이터베이스용 정렬. 기본값: 인스턴스 기본값.
DEPENDENCIES List 데이터베이스의 생성 순서 의존성.
MIRROR String 테스트 중에 미러링할 데이터베이스의 별칭입니다.

예제:

DATABASES = {
    "default": {
        "ENGINE": "mssql",
        "NAME": "<your-database>",
        "USER": "<your-username>",
        "PASSWORD": "<your-password>",
        "HOST": "<your-server>",
        "PORT": "1433",
        "OPTIONS": {
            "driver": "ODBC Driver 18 for SQL Server",
        },
        "TEST": {
            "NAME": "test_mydb",
            "COLLATION": "SQL_Latin1_General_CP1_CI_AS",
        },
    },
}

옵션

사전은 OPTIONS 백엔드 전용 구성을 제공합니다. 다음 설정들을 사전 안에 DATABASES["default"]["OPTIONS"] 넣으세요:

Option 유형 기본값 설명
driver String "ODBC Driver 18 for SQL Server" ODBC 드라이버를 사용해야 합니다. 드라이버 18이 설치되어 있지 않으면 자동으로 드라이버 17로 되돌아갑니다.
isolation_level String None 트랜잭션 격리 수준: READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ또는 SNAPSHOTSERIALIZABLE.
dsn String None 이름은 DSN입니다. 를 대신 HOST해 사용할 수 있습니다.
host_is_server Boolean False 데이터서버 이름 대신 freetds.conf FreeTDS와 직접 사용하도록/PORTHOST설정 True 하세요.
unicode_results Boolean False pyodbc unicode_results 기능을 활성화하세요.
extra_params String None 추가 ODBC 매개변수 형식."param=value;param=value" Microsoft Entra 인증에 사용됩니다.
collation String None 텍스트 필드 조회를 위한 정렬(예: "Chinese_PRC_CI_AS").
connection_timeout Integer 0 연결 타임아웃은 초 간격입니다 (0 = 비활성화).
connection_retries Integer 5 연결 재시도 횟수.
connection_retry_backoff_time Integer 5 재시도 사이에 몇 초 간격으로 물러나세요.
query_timeout Integer 0 쿼리 타임아웃은 초 단위입니다 (0 = 비활성화됨).
setencoding / setdecoding List None pyodbc 인코딩 / 디코딩 구성.
return_rows_bulk_insert Boolean False 벌크 인서트에서 반입 행을 허용하세요. 테이블에 트리거가 있다면 그럴 False 거예요.
datefirst Integer 7 주 첫째 날.SET DATEFIRST 7일요일(SQL Server 기본값)이고, 1 월요일입니다.
driver_needs_utf8 존재 전용 옵션 설정 안 함 ODBC 드라이버에 UTF-8 인코딩을 활성화하세요. 이 옵션은 키가 에 OPTIONS존재할 때 활성화됩니다; 그 값 자체는 무시됩니다. 일반적으로 FreeTDS 또는 기본 라틴어 1을 사용하는 구형 유닉스 ODBC 구성에서 필요합니다.
driver_charset String None ODBC 드라이버에 대한 명시적 문자 집합(예: "UTF-8"). 드라이버가 인코딩을 자동 감지하지 않을 때 사용 driver_needs_utf8 하세요.
connection_recovery_interval_msec Float 0.0 네트워크 오류 후 백엔드의 연결 복구 루프에서 재시도 사이에 몇 밀리초가 걸려 기다려야 합니다. 불안정한 네트워크 링크의 경우 이 값을 높입니다.

일반적인 선택지가 있는 예시:

DATABASES = {
    "default": {
        "ENGINE": "mssql",
        "NAME": "<your-database>",
        "USER": "<your-username>",
        "PASSWORD": "<your-password>",
        "HOST": "<your-server>.database.windows.net",
        "PORT": "1433",
        "OPTIONS": {
            "driver": "ODBC Driver 18 for SQL Server",
            "extra_params": "Encrypt=yes",
            "isolation_level": "READ COMMITTED",
            "connection_timeout": 30,
            "connection_retries": 3,
            "connection_retry_backoff_time": 5,
            "query_timeout": 60,
        },
    },
}

백엔드 전용 설정

이 설정은 사전 외부 DATABASESsettings.py모듈 수준에 위치합니다:

설정 유형 기본값 설명
DATABASE_CONNECTION_POOLING Boolean True pyodbc False 의 연결 풀링을 비활성화하도록 설정하세요.

예제:

DATABASES = {
    "default": {
        "ENGINE": "mssql",
        "NAME": "<your-database>",
        "USER": "<your-username>",
        "PASSWORD": "<your-password>",
        "HOST": "<your-server>",
        "PORT": "1433",
        "OPTIONS": {
            "driver": "ODBC Driver 18 for SQL Server",
        },
    },
}

# Set this to False to disable pyodbc's connection pooling
DATABASE_CONNECTION_POOLING = False