Configurare le impostazioni di SQL Server con variabili di ambiente in Linux

Si applica a:SQL Server - Linux

Per configurare SQL Server 2017 (14.x) in Linux è possibile usare diverse variabili di ambiente. Queste variabili vengono usate in due scenari:

Per configurare SQL Server 2019 (15.x) in Linux è possibile usare diverse variabili di ambiente. Queste variabili vengono usate in due scenari:

Per configurare SQL Server 2022 (16.x) in Linux è possibile usare diverse variabili di ambiente. Queste variabili vengono usate in due scenari:

Suggerimento

Se è necessario configurare scenari di SQL Server simili a questi scenari di installazione, vedere Configurare SQL Server in Linux con lo strumento mssql-conf.

Variabili di ambiente

Variabile di ambiente Descrizione
ACCEPT_EULA Impostare la variabile ACCEPT_EULA su un valore qualsiasi per confermare l'accettazione del contratto di licenza con l'utente finale. Impostazione obbligatoria per l'immagine di SQL Server.
MSSQL_SA_PASSWORD Consente di configurare la password dell'utente SA.

La variabile di ambiente SA_PASSWORD è deprecata. Utilizzare invece MSSQL_SA_PASSWORD.
MSSQL_PID Consente di impostare l'edizione o il codice Product Key di SQL Server. I valori possibili includono:

Evaluation
Developer
Express
Web
Standard
Enterprise1
EnterpriseCore1
A product key

Se si specifica un codice Product Key, questo deve essere nel formato #####-#####-#####-#####-#####, dove '#' è un numero o una lettera.
MSSQL_LCID Imposta l'ID della lingua da usare per SQL Server. Ad esempio, 1036 corrisponde al francese.
MSSQL_COLLATION Imposta le regole di confronto per SQL Server. In questo modo viene eseguito l'override del mapping predefinito dell'ID lingua (LCID) per le regole di confronto.
MSSQL_MEMORY_LIMIT_MB Imposta la quantità massima di memoria (in MB) che SQL Server può usare. Per impostazione predefinita, corrisponde all'80% della memoria fisica totale.
MSSQL_TCP_PORT Consente di configurare la porta TCP su cui è in ascolto SQL Server (impostazione predefinita: 1433).
MSSQL_IP_ADDRESS Consente di impostare l'indirizzo IP. Attualmente l'indirizzo IP deve essere nello stile IPv4 (0.0.0.0).
MSSQL_BACKUP_DIR Consente di usare il percorso della directory di backup predefinito.
MSSQL_DATA_DIR Consente di cambiare la directory in cui vengono creati i file di dati (con estensione .mdf) di un nuovo database di SQL Server.
MSSQL_LOG_DIR Consente di cambiare la directory in cui vengono creati i file di log (con estensione .ldf) di un nuovo database di SQL Server.
MSSQL_DUMP_DIR Consente di cambiare la directory in cui SQL Server deposita i dump della memoria e altri file per la risoluzione dei problemi per impostazione predefinita.
MSSQL_ENABLE_HADR Consente di abilitare un gruppo di disponibilità. Ad esempio, il valore '1' lo abilita e il valore '0' lo disabilita
MSSQL_AGENT_ENABLED Abilitare SQL Server Agent. Ad esempio, il valore 'true' lo abilita e il valore 'false' lo disabilita. Per impostazione predefinita, l'agente è disabilitato.
MSSQL_MASTER_DATA_FILE Imposta il percorso del file di dati del database master. Il nome del file deve essere master.mdf fino alla prima esecuzione di SQL Server.
MSSQL_MASTER_LOG_FILE Imposta il percorso del file di log del database master. Il nome del file deve essere mastlog.ldf fino alla prima esecuzione di SQL Server.
MSSQL_ERROR_LOG_FILE Imposta la posizione dei file errorlog. Ad esempio, /var/opt/mssql/log/errorlog.

1 La licenza legacy Enterprise rappresenta l’edizione Enterprise con licenza basata su Server + Licenza CAL (Client Access License) ed è limitata a un massimo di 20 core per istanza di SQL Server. Enterprise non è disponibile per i nuovi contratti. Scegliere EnterpriseCore quando si vuole distribuire l’edizione Enterprise. EnterpriseCore rappresenta il modello di licenza del server basato su core senza limiti di core. Per altre informazioni, vedere Limiti della capacità di calcolo per edizione di SQL Server.

Usare con la configurazione iniziale

Questo esempio esegue mssql-conf setup con variabili di ambiente configurate. Vengono specificate le variabili di ambiente seguenti:

  • ACCEPT_EULA accetta il Contratto di Licenza con l'utente finale.
  • MSSQL_PID specifica la Developer Edition di SQL Server con licenza gratuita per l'uso non in produzione.
  • MSSQL_SA_PASSWORD imposta una password complessa.
  • MSSQL_TCP_PORT consente di configurare la porta TCP su cui è in ascolto SQL Server su 1234.
sudo ACCEPT_EULA='Y' MSSQL_PID='Developer' MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' MSSQL_TCP_PORT=1234 /opt/mssql/bin/mssql-conf setup

Uso con Docker

Questo comando docker di esempio usa le variabili di ambiente seguenti per creare un nuovo contenitore di SQL Server:

  • ACCEPT_EULA accetta il Contratto di Licenza con l'utente finale.
  • MSSQL_PID specifica la Developer Edition di SQL Server con licenza gratuita per l'uso non in produzione.
  • MSSQL_SA_PASSWORD imposta una password complessa.
  • MSSQL_TCP_PORT consente di configurare la porta TCP su cui è in ascolto SQL Server su 1234. Ciò significa che anziché eseguire il mapping della porta 1433 (impostazione predefinita) a una porta host, è necessario eseguire il mapping della porta TCP personalizzata con il comando -p 1234:1234 riportato in questo esempio.

Se si esegue Docker in Linux, usare la sintassi seguente con virgolette singole:

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 si esegue Docker in Windows, usare la sintassi seguente con virgolette doppie:

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

Nota

Il processo di esecuzione delle edizioni di produzione nei contenitori è leggermente diverso. Per altre informazioni, vedere Run production container images (Eseguire immagini del contenitore di produzione).

Se si esegue Docker in Linux, usare la sintassi seguente con virgolette singole:

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 si esegue Docker in Windows, usare la sintassi seguente con virgolette doppie:

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 si esegue Docker in Linux, usare la sintassi seguente con virgolette singole:

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 si esegue Docker in Windows, usare la sintassi seguente con virgolette doppie:

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

Contribuire alla documentazione di SQL

Il contenuto SQL può essere modificato. L'autore delle modifiche contribuirà a migliorare la documentazione e verrà accreditato come collaboratore alla realizzazione della pagina.

Per altre informazioni, vedere Come contribuire alla documentazione di SQL Server