Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo é a referência completa settings.py de configuração para o backend do mssql-django banco de dados Django. Configure a conectividade do SQL Server editando o DATABASES dicionário no arquivo do settings.py seu projeto Django.
Configuração mínima
O exemplo a seguir mostra a configuração mínima necessária:
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",
},
},
}
Configurações de conexão com banco de dados
Essas configurações configuram sua DATABASES conexão. A maioria são configurações padrão de Django; Exceções são observadas:
| Setting | Tipo | Description |
|---|---|---|
ENGINE |
String | Deve ser "mssql". |
NAME |
String | Nome do banco de dados. Obrigatório |
HOST |
String | Nome do host ou endereço IP do servidor. Use "server\\instance" o formato para instâncias nomeadas. |
PORT |
String | Porta de instância de servidor. String vazia significa porta padrão. |
USER |
String | Nome do usuário do banco de dados. Se não for concedido, o Windows Integrated Security é utilizado. |
PASSWORD |
String | Senha do usuário do banco de dados. |
AUTOCOMMIT |
booleano | Configurado para False desativar o gerenciamento de transações do Django. O padrão é True. |
Trusted_Connection |
String | Defina para "yes" (padrão) para usar o Windows Integrated Security quando USER não for fornecido. Quando USER e PASSWORD ambos são definidos, essas credenciais têm prioridade e Trusted_Connection são ignoradas. Defina para "no" desabilitar explicitamente a autenticação do Windows. Isso é uma mssql-django extensão, não uma configuração padrão do Django. |
TOKEN |
String | Token de acesso para autenticação Microsoft Entra (por exemplo, via azure.identity). Isso é uma mssql-django extensão, não uma configuração padrão do Django. |
Configurações de TESTE
Essas configurações controlam o banco de dados de testes usado pelo executor de testes do Django:
| Setting | Tipo | Description |
|---|---|---|
NAME |
String | Nome do banco de dados de teste. Padrão: "test_" + NAME. |
COLLATION |
String | Coletão para o banco de dados de testes. Padrão: padrão da instância. |
DEPENDENCIES |
List | Dependências da ordem de criação do banco de dados. |
MIRROR |
String | Alias de um banco de dados para espelhar durante os testes. |
Example:
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",
},
},
}
OPÇÕES
O OPTIONS dicionário fornece configurações específicas do backend. Coloque estas configurações dentro do DATABASES["default"]["OPTIONS"] dicionário:
| Opção | Tipo | Default | Description |
|---|---|---|---|
driver |
String | "ODBC Driver 18 for SQL Server" |
Driver ODBC para usar. Automaticamente volta para o Driver 17 se o 18 não estiver instalado. |
isolation_level |
String | None |
Nível de isolamento da transação: READ UNCOMMITTED, , READ COMMITTED, REPEATABLE READ, SNAPSHOTou SERIALIZABLE. |
dsn |
String | None |
Chamado DSN. Pode ser usado em vez de HOST. |
host_is_server |
booleano | False |
Defina para True usarPORTHOST/diretamente com FreeTDS em vez de um freetds.conf nome de servidor de dados. |
unicode_results |
booleano | False |
Ative a função do unicode_results pyodbc. |
extra_params |
String | None |
Parâmetros adicionais ODBC no "param=value;param=value" formato. Usado para autenticação Microsoft Entra. |
collation |
String | None |
Colação para consultas em campos de texto (por exemplo, "Chinese_PRC_CI_AS"). |
connection_timeout |
Integer | 0 |
Tempo de conexão em segundos (0 = desativado). |
connection_retries |
Integer | 5 |
Número de tentativas de retentativa de conexão. |
connection_retry_backoff_time |
Integer | 5 |
Tempo de recuo em segundos entre as tentativas. |
query_timeout |
Integer | 0 |
Consulta em segundos (0 = desativado). |
setencoding / setdecoding |
List | None |
Configuração de decodificação / codificada PYODBC. |
return_rows_bulk_insert |
booleano | False |
Permita que as fileiras retornem a partir da inserção em massa. Deve ser False se as mesas têm gatilhos. |
datefirst |
Integer | 7 |
Primeiro dia da semana para SET DATEFIRST.
7é domingo (padrão do SQL Server), 1 é segunda-feira. |
driver_needs_utf8 |
Opção apenas de presença | Não definido | Ative a codificação UTF-8 para o driver ODBC. Essa opção é ativada quando a chave está presente em OPTIONS; o valor em si é ignorado. Normalmente necessário com FreeTDS ou configurações antigas de unixODBC que padrão são Latin-1. |
driver_charset |
String | None |
Conjunto de caracteres explícito para o driver ODBC (por exemplo, "UTF-8"). Use quando driver_needs_utf8 o driver não detecta automaticamente a codificação. |
connection_recovery_interval_msec |
Float | 0.0 |
Milissegundos para esperar entre tentativas de retentativa no loop de recuperação de conexão do backend após um erro de rede. Aumente esse valor para links de rede instáveis. |
Exemplo com opções comuns:
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,
},
},
}
Configurações específicas do backend
Essa configuração é colocada no nível do módulo em settings.py, fora do DATABASES dicionário:
| Setting | Tipo | Default | Description |
|---|---|---|---|
DATABASE_CONNECTION_POOLING |
booleano | True |
Configura para False desabilitar o pool de conexão do pyodbc. |
Example:
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