Definir configurações do SQL Server com variáveis de ambiente em Linux

Aplica-se a: SQL Server – Linux

Você pode usar diversas variáveis de ambiente diferentes para configurar o SQL Server 2017 (14.x) em Linux. Essas variáveis são usadas em dois cenários:

Você pode usar diversas variáveis de ambiente diferentes para configurar o SQL Server 2019 (15.x) em Linux. Essas variáveis são usadas em dois cenários:

Você pode usar diversas variáveis de ambiente diferentes para configurar o SQL Server 2022 (16.x) em Linux. Essas variáveis são usadas em dois cenários:

Dica

Se você precisar configurar o SQL Server após esses cenários de instalação, confira Configurar o SQL Server em Linux com a ferramenta mssql-conf.

Variáveis de ambiente

Variável de ambiente Descrição
ACCEPT_EULA Defina a variável ACCEPT_EULA com qualquer valor para confirmar sua aceitação do Contrato de Licença do Usuário Final. Configuração exigida para a imagem do SQL Server.
MSSQL_SA_PASSWORD Configure a senha de usuário do SA.

A variável de ambiente SA_PASSWORD foi preterida. Use MSSQL_SA_PASSWORD em vez disso.
MSSQL_PID Defina a edição ou a chave do produto (Product Key) do SQL Server. Os valores possíveis incluem:

Evaluation
Developer
Express
Web
Standard
Enterprise 1
EnterpriseCore 1
A product key

Se você especificar uma chave do produto (Product Key), ela deverá estar no formato #####-#####-#####-#####-#####, em que '#' é um número ou uma letra.
MSSQL_LCID Define a ID de idioma a ser usada para o SQL Server. Por exemplo, 1036 é francês.
MSSQL_COLLATION Define a ordenação padrão para o SQL Server. Isso substitui o mapeamento padrão da ID de linguagem (LCID) na ordenação.
MSSQL_MEMORY_LIMIT_MB Define a quantidade máxima de memória (em MB) que o SQL Server pode usar. Por padrão, essa quantidade corresponde a 80% da memória física total.
MSSQL_TCP_PORT Configure a porta TCP em que o SQL Server escuta (padrão 1433).
MSSQL_IP_ADDRESS Define o endereço IP. Atualmente, o endereço IP deve ser no estilo IPv4 (0.0.0.0).
MSSQL_BACKUP_DIR Defina a localização do diretório de backup Padrão.
MSSQL_DATA_DIR Altere o diretório no qual os arquivos de dados (.mdf) do novo banco de dados do SQL Server são criados.
MSSQL_LOG_DIR Altere o diretório no qual os arquivos de log (.ldf) do novo banco de dados do SQL Server são criados.
MSSQL_DUMP_DIR Altere o diretório em que o SQL Server deposita os despejos de memória e outros arquivos de solução de problemas por padrão.
MSSQL_ENABLE_HADR Habilite o Grupo de Disponibilidade. Por exemplo, '1' é habilitado e '0' ´é desabilitado
MSSQL_AGENT_ENABLED Habilite o SQL Server Agent. Por exemplo, 'true' é habilitado e 'false' é desabilitado. Por padrão, o agente está desabilitado.
MSSQL_MASTER_DATA_FILE Define o local do arquivo de dados de banco de dados master. Deve chamar-se master.mdf até a primeira execução do SQL Server.
MSSQL_MASTER_LOG_FILE Define o local do arquivo de log de banco de dados master. Deve chamar-se mastlog.ldf até a primeira execução do SQL Server.
MSSQL_ERROR_LOG_FILE Define o local dos arquivos errorlog. Por exemplo, /var/opt/mssql/log/errorlog.

1 A licença Enterprise herdada representa a Edição Enterprise com licenciamento baseado em Server + Client Access License (CAL) e está limitada a um máximo de 20 núcleos por instância do SQL Server. O Enterprise não está disponível para novos contratos. Você deve escolher o EnterpriseCore quando desejar implantar a Edição Enterprise. O EnterpriseCore representa o modelo de licenciamento de servidor baseado em núcleo sem limites de núcleo. Para saber mais, confira Calcular limites de capacidade por edição do SQL Server.

Usar com a configuração inicial

Este exemplo executa o mssql-conf setup com variáveis de ambiente configuradas. As seguintes variáveis de ambiente são especificadas:

  • ACCEPT_EULA aceita o contrato de licença do usuário final.
  • MSSQL_PID especifica a Developer Edition licenciada gratuitamente do SQL Server para uso de não produção.
  • MSSQL_SA_PASSWORD define uma senha forte.
  • MSSQL_TCP_PORT define como 1234 a porta TCP em que o SQL Server escuta.
sudo ACCEPT_EULA='Y' MSSQL_PID='Developer' MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' MSSQL_TCP_PORT=1234 /opt/mssql/bin/mssql-conf setup

Usar com o Docker

Este comando do docker de exemplo usa as seguintes variáveis de ambiente para criar um novo contêiner do SQL Server:

  • ACCEPT_EULA aceita o contrato de licença do usuário final.
  • MSSQL_PID especifica a Developer Edition licenciada gratuitamente do SQL Server para uso de não produção.
  • MSSQL_SA_PASSWORD define uma senha forte.
  • MSSQL_TCP_PORT define como 1234 a porta TCP em que o SQL Server escuta. Isso significa que, em vez de mapear a porta 1433 (padrão) para uma porta de host, a porta TCP personalizada deve ser mapeada com o comando -p 1234:1234 neste exemplo.

Se você estiver executando o Docker em Linux, use a seguinte sintaxe com aspas simples:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

Se você estiver executando o Docker no Windows, use a seguinte sintaxe com aspas duplas:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2017-latest

Observação

O processo para executar edições de produção em contêineres é um pouco diferente. Para obter mais informações, veja Executar imagens de contêiner de produção.

Se você estiver executando o Docker em Linux, use a seguinte sintaxe com aspas simples:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

Se você estiver executando o Docker no Windows, use a seguinte sintaxe com aspas duplas:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2019-latest

Se você estiver executando o Docker em Linux, use a seguinte sintaxe com aspas simples:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID='Developer' -e MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

Se você estiver executando o Docker no Windows, use a seguinte sintaxe com aspas duplas:

docker run -e ACCEPT_EULA=Y -e MSSQL_PID="Developer" -e MSSQL_SA_PASSWORD="<YourStrong!Passw0rd>" -e MSSQL_TCP_PORT=1234 -p 1234:1234 -d mcr.microsoft.com/mssql/server:2022-latest

Contribua com a documentação do SQL

Você sabia que pode editar conteúdo do SQL por conta própria? Ao fazer isso, além de melhorar nossa documentação, você também será creditado como um colaborador da página.

Para obter mais informações, confira Como contribuir para a documentação do SQL Server