Configurer des paramètres SQL Server à l’aide de variables d’environnement sur Linux

S’applique à :SQL Server - Linux

Vous pouvez utiliser différentes variables d’environnement pour configurer SQL Server 2017 (14.x) sur Linux. Ces variables sont utilisées dans deux scénarios :

Vous pouvez utiliser différentes variables d’environnement pour configurer SQL Server 2019 (15.x) sur Linux. Ces variables sont utilisées dans deux scénarios :

Vous pouvez utiliser différentes variables d’environnement pour configurer SQL Server 2022 (16.x) sur Linux. Ces variables sont utilisées dans deux scénarios :

Conseil

Si vous devez configurer SQL Server après ces scénarios d’installation, consultez Configurer SQL Server sur Linux avec l’outil mssql-conf.

Variables d'environnement

Variable d’environnement Description
ACCEPT_EULA Attribuez une valeur quelconque à la variable ACCEPT_EULA pour confirmer votre acceptation du contrat de licence d’utilisateur final. Paramètre obligatoire pour l’image de SQL Server.
MSSQL_SA_PASSWORD Configurez le mot de passe de l’utilisateur AS.

La variable d’environnement SA_PASSWORD est dépréciée. Utilisez MSSQL_SA_PASSWORD à la place.
MSSQL_PID Définissez l’édition SQL Server ou la clé de produit. Les valeurs possibles incluent :

Evaluation
Developer
Express
Web
Standard
Enterprise1
EnterpriseCore1
A product key

Si vous spécifiez une clé de produit, celle-ci doit être au format #####-#####-#####-#####-#####, où « # » est un chiffre ou une lettre.
MSSQL_LCID Définit l’ID de langue à utiliser pour SQL Server. Par exemple, 1036 correspond au français.
MSSQL_COLLATION Définit le classement par défaut pour SQL Server. Cela remplace le mappage par défaut de l’ID de langue (LCID) par le classement.
MSSQL_MEMORY_LIMIT_MB Définit la quantité maximale de mémoire (en Mo) que SQL Server peut utiliser. Par défaut, elle correspond à 80 % de la mémoire physique totale.
MSSQL_TCP_PORT Configurez le port TCP sur lequel SQL Server écoute (par défaut 1433).
MSSQL_IP_ADDRESS Définissez l’adresse IP. Actuellement, l’adresse IP doit être de type IPv4 (0.0.0.0).
MSSQL_BACKUP_DIR Définissez l’emplacement du répertoire de sauvegarde par défaut.
MSSQL_DATA_DIR Modifiez l'annuaire dans lequel les nouveaux fichiers de données de la base de données SQL Server (.mdf) sont créés.
MSSQL_LOG_DIR Modifiez l'annuaire dans lequel les nouveaux fichiers journaux de base de données SQL Server (.ldf) sont créés.
MSSQL_DUMP_DIR Modifiez le répertoire dans lequel SQL Server dépose les images mémoire et d’autres fichiers de dépannage par défaut.
MSSQL_ENABLE_HADR Activez le groupe de disponibilité. Par exemple, « 1 » est activé et « 0 » est désactivé.
MSSQL_AGENT_ENABLED Activer l’agent SQL Server. Par exemple, « true » est activé et « false » est désactivé. Par défaut, l’agent est désactivé.
MSSQL_MASTER_DATA_FILE Définit l'emplacement du fichier de données de la base de données master. Doit être nommé master.mdf jusqu'à la première exécution de SQL Server.
MSSQL_MASTER_LOG_FILE Définit l'emplacement du fichier journal de la base de données master. Doit être nommé mastlog.ldf jusqu’à la première exécution de SQL Server.
MSSQL_ERROR_LOG_FILE Définit l’emplacement des fichiers errorlog. Par exemple : /var/opt/mssql/log/errorlog.

1 L’ancienne licence Enterprise représente l’édition Enterprise avec une licence basée sur le serveur + la licence d’accès client (CAL), et est limitée à un maximum de 20 cœurs par instance de serveur SQL. Enterprise n’est pas disponible pour les nouveaux contrats. Vous devez choisir EnterpriseCore quand vous souhaitez le déploiement de l’édition Entreprise. EnterpriseCore représente le modèle de licence de serveur basé sur les cœurs, sans limites de cœurs. Pour plus d’informations, voir Limites de capacité de calcul par édition de SQL Server.

Utiliser avec l’installation initiale

Cet exemple exécute mssql-conf setup avec des variables d’environnement configurées. Les variables d’environnement suivantes sont spécifiées :

  • ACCEPT_EULA accepte le contrat de licence d’utilisateur final.
  • MSSQL_PID spécifie l’édition SQL Server Developer sous licence gratuite pour une utilisation hors production.
  • MSSQL_SA_PASSWORD crée un mot de passe fort.
  • MSSQL_TCP_PORT configure le port TCP sur lequel SQL Server écoute à 1234.
sudo ACCEPT_EULA='Y' MSSQL_PID='Developer' MSSQL_SA_PASSWORD='<YourStrong!Passw0rd>' MSSQL_TCP_PORT=1234 /opt/mssql/bin/mssql-conf setup

Utiliser avec Docker

Cet exemple de commande docker utilise les variables d'environnement suivantes pour créer un conteneur SQL Server :

  • ACCEPT_EULA accepte le contrat de licence d’utilisateur final.
  • MSSQL_PID spécifie l’édition SQL Server Developer sous licence gratuite pour une utilisation hors production.
  • MSSQL_SA_PASSWORD crée un mot de passe fort.
  • MSSQL_TCP_PORT configure le port TCP sur lequel SQL Server écoute à 1234. Cela signifie qu’au lieu de mapper le port 1433 (par défaut) à un port hôte, le port TCP personnalisé doit être mappé avec la commande -p 1234:1234 dans cet exemple.

Si vous exécutez Docker sur Linux, utilisez la syntaxe suivante avec des guillemets 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

Si vous exécutez Docker sur Windows, utilisez la syntaxe suivante avec des guillemets doubles :

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

Notes

Le processus d’exécution des éditions de production dans des conteneurs est légèrement différent. Pour plus d’informations, consultez Exécuter des images conteneur de production.

Si vous exécutez Docker sur Linux, utilisez la syntaxe suivante avec des guillemets 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

Si vous exécutez Docker sur Windows, utilisez la syntaxe suivante avec des guillemets doubles :

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

Si vous exécutez Docker sur Linux, utilisez la syntaxe suivante avec des guillemets 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

Si vous exécutez Docker sur Windows, utilisez la syntaxe suivante avec des guillemets doubles :

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

Contribuer à la documentation SQL

Saviez-vous que vous pouvez modifier le contenu SQL vous-même ? Dans ce cas, non seulement vous nous aidez à améliorer notre documentation, mais vous êtes également cité en tant que contributeur à la page.

Pour plus d’informations, consultez Guide pratique pour contribuer à la documentation SQL Server